
16.01.2008, 14:32
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
С нами:
10467746
Репутация:
4738
|
|
Вообщем сделал так:
PHP код:
// Функция получения 1000 паролей из базы начиная с номера=id
function get_pass($id)
{
global $db_table;
global $id;
$query = "SELECT `passwd` from ".$db_table." WHERE `passwd` IS NOT NULL limit ".$id.",1000";
$r=mysql_query($query);
if($r)
{
while($db_pass = mysql_fetch_array($r))
{
$get_pass[$id]=$db_pass['passwd']."\n";
$id++;
}
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
$get_pass=false;
}
return $get_pass;
}
Читаем из базы 1000 паролей, начиная с записи $id и возвращаем в виде массива $get_pass (1000 записей)
Вызываем функцию в цикле:
PHP код:
<?
include('conf.php');
include('function.php');
ignore_user_abort(1);
set_time_limit(0);
$fd = fopen("./pass/dict.txt", 'w');
$id = 0;
$pass = array('типа..', 'пароль1', 'пароль2');
while($pass)
{
$pass=get_pass($id);
$string=implode($pass);
fwrite($fd, $string);
// $id=$id+1000; - тут не надо! $id - глобальная!
}
echo "в файл выгружено: ".$id." паролей <br>";
fclose($fd);
?>
Выгрузилось реально 115000 паролей, хотя написал что 230000.... хм... попробовать по 2 тыс. выгружать?
Изминил лимит на 2000 пишет:
в файл выгружено: 231756 паролей
Но реально в файле в два раза меньше, где ошибка?
А понял! не надо второй раз 1000 прибавлять $id глобальная, а так пропуск по 1000 шт. получается, она инкрементится в функции и её значение не сбрасывается...
Щас исправлю... 
Последний раз редактировалось -=lebed=-; 16.01.2008 в 14:52..
|
|
|