Показать сообщение отдельно

  #3  
Старый 16.01.2008, 02:03
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Написал функцию выдирающую запись из одной колонки (passwd) и скрипт, который записывает пассы в файл:
PHP код:
function get_pass($id)
{
global 
$db_table;
$query "SELECT `passwd` from ".$db_table." WHERE `passwd` IS NOT NULL limit ".$id.",1";
$r=mysql_query($query);
$get_pass=mysql_fetch_array($r);
$pass=$get_pass[0];
if (
$pass) return $pass;
else return 
false;

скрипт:
PHP код:
<?
include('conf.php');
include(
'function.php'); //содержит функцию, та что выше
ignore_user_abort(1);
set_time_limit(0);

$fd fopen("./pass/dict.txt""w");
$id 0;
$pass =1;
    while(
$pass)
    {
    
$pass=get_pass($id);
    
fputs($fd$pass."\r\n");
    
$id++;
    
sleep(0.1);
    }
    
$id--;
    echo 
"в файл выгружено: ".$id." паролей <br>";
fclose($fd);
?>
Вообщем дампится только 4348 паролей (хотя их в базе больше) думал трабла в set_time_limit (установлена хостером и изм. нельзя) поэтому пробовал sleep(0.1) ставить - всё равно паролей выгружается ровно 4348. В чём трабла может быть?

ЗЫ подозреваю, что надо экранировать спецсимволы, которые могут встретиться в пассе так?
 
Ответить с цитированием