Эта тема на forum.dklab.ru


новичок php: Как увеличить время выполнения этого скрипта

<?php
error_reporting ( 0 );
set_time_limit( 0 );
require_once ( 'function.inc' );
//*****************************************//
$k = 1;
$count = 0;

//****************************************//
$display[] = "Run online [".date( "d-m-Y H:i:s" ) ."]";
//loading data
$acc = fopen("acc.txt", "r");
$i = 1;
while(!feof($acc)) {
$string = fgets($acc);
list($email[$i], $pass[$i],,,) = split(":", $string);
$i++;
}
fclose($acc);
$display[] = $i-1 . " accs loaded";
$p = 1;

$proxy = fopen( $prox_valid, "r");

while(!feof($proxy)) {
$string = fgets($proxy);
list($proxy_addr[$p], $proxy_port[$p]) = split(":", $string);
$p++;
}
fclose($proxy);
$display[] = $p-1 . " proxy's loaded";
//main "while"
while ($k < $i) {
$rand = rand(1, $p-1);
print " Проверяем на валидность " .$proxy_addr[$rand].":".$proxy_port[$rand] . date( "d-m-Y H:i:s" ) . "<br />";
flush();
$fp[$k] = @fsockopen($proxy_addr[$rand], $proxy_port[$rand], $errno, $errstr, 3);
if ( !$fp[$k] )
{
print "Мертв" . date( "d-m-Y H:i:s" );
flush();
}
else
{
$headers = "GET http://$hostname HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Connection: close\r\n\r\n";
fputs( $fp[$k], $headers );

while ( !feof( $fp[$k] ) )
{
$fr .= fgets ( $fp[$k] );
}

if ( preg_match ( "/(domain=.sait.ru)/", $fr, $t ) and !preg_match ( "/(SPAM from your IP)/", $fr, $t ) )
{
print " Ok" .date( "d-m-Y H:i:s" ) ."<br />";
flush();
$display[] = "using proxy - " . $proxy_addr[$rand] . ":" . trim ( $proxy_port[$rand] ) . "";

$fp[$k] = @fsockopen($proxy_addr[$rand], $proxy_port[$rand], $errno, $errstr, 10);



$data = "email=" . $email[$k] . "&pass=" . preg_replace("/\n/","",$pass[$k]);
$headers = "POST http://$hostname/login.php HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Referer: http://$hostname \r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "User-Agent: Opera/9.50 (Windows NT 5.1; U; ru)\r\n";
$headers .= "Content-Length: " . strlen($data) . "\r\n";
$headers .= "Connection: close\r\n\r\n";

fwrite($fp[$k], $headers.$data);

while(!feof($fp[$k])) {
$result[$k] .= fgets($fp[$k], 1024);
}
//get cookie and id
preg_match_all('#Set-cookie: (.*?;) ex#UiS', $result[$k], $cookie[$k]);
$id[$k] = preg_replace("/\D/", "", $cookie[$k][1][3]);
$cookie[$k] = $cookie[$k][1][0]." ".$cookie[$k][1][1]." ".$cookie[$k][1][3]." ".$cookie[$k][1][4]." ".$cookie[$k][1][5]." ".$cookie[$k][1][6]." remixclosed_tabs=0; remixdeffriendgroups=8; audio_vol=80; remixautobookmark=6";
if ( !empty ( $id[$k] ) and ($id[$k]!==5))
{
print $id[$k] ."->" .$k . $email[$k] .":". $pass[$k] . "<br />\r\n" ;;
flush();

$display[] = "working with id - $id[$k]";
fclose($fp[$k]);
$result[$k] = ""; //clear
sleep(2);


//loading id* page
$fp[$k] = @fsockopen($proxy_addr[$rand], $proxy_port[$rand], $errno, $errstr, 10);

$headers = "GET http://$hostname/id$id[$k] HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Referer: http://$hostname/login.php\r\n";
$headers .= "User-Agent: Opera/9.50 (Windows NT 5.1; U; ru)\r\n";
$headers .= "Cookie: $cookie[$k]\r\n";
$headers .= "Connection: close\r\n\r\n";

fwrite($fp[$k], $headers);
while(!feof($fp[$k])) {
$result[$k] .= fgets($fp[$k], 1024);
}
creat_acc ( $email[$k], $proxy_addr[$rand] , $proxy_port[$rand]);
$display[] = "onlain";
fclose($fp[$k]);
$k++;
sleep(2);
}
else
{
print "Нет ID " ."->" .$k . $email[$k] .":". $pass[$k] . "<br />\r\n" ;;
flush();
continue;
}
}
else
{
print " Не подходит " .date( "d-m-Y H:i:s" ) ."<br />";
flush();
}
}

}


$display[] = $k-1 . " vsego onlain ";
$display[] = "[".date( "d-m-Y H:i:s" ) ."]\r\n";
print log_file ( $display, $loger, $display_mess );
?>





файл function.inc



<?php
$hostname = "sait.ru";
$display = array(); //Массив с сообщениями
$loger = 1; // 1 Включает зпись логов, 0 выключает;
$display_mess = 1; // 1 Включает вывод сообщения о прделоной работе, 0 выключает;
$message = 1;// 1 Включает вывод сообщения о ходе работы, 0 выключает;
$prox_valid = 'proxy.txt';
function creat_acc ($email, $ip, $port )
{
$file = 'acc.txt';
$acc = fopen ( $file, "r+" ) ;
$name = explode ( "\n" , fread( $acc, filesize ( $file ) ) );
for ( $d = 0; $d < count ( $name ); $d++ )
{
if ( strstr ( $name[$d], $email ) )
{
list ($nic, $pass, $stat, ) = split ( ":", $name[$d] );
$name[] = $nic .":". $pass . ":" .$stat .":" . $ip . ":" . trim ( $port ) ;
unset ( $name[$d]);
}
}
fclose ($acc);
$acc_rec = fopen ( $file, "w+" ) or die ( "Файл занят " );
fwrite($acc_rec, @implode("\n", $name ) );
fclose ($acc_rec);

}
function log_file ( $var, $stat, $display_mess ) // Функция для ведения лог файла
{
if ( $stat == 1 )
{
$log_file = fopen ( 'log_file.txt', "a+" ) or die( "Не могу открыть log_file.txt");
if ( flock( $log_file, LOCK_EX ) )
{
rewind ( $log_file );
fputs( $log_file, @implode( " ", $var ) );
flock( $log_file, LOCK_UN);
}
else
{
return "Не могу запереть файл";
}


fclose ( $log_file );
}

if ( $display_mess == 1 )
{
$del = array_shift ( $var );
$del = array_pop ( $var );
return @implode ( " ", $var ) . flush();
}
}
?>

Юрий Насретдинов:
Модераторы, перенесите тему в форум про пхп, ну или куда-нибудь в "лень"...
Александр Михалицын:
Перенесено из форума: Разное :: JavaScript.
Перенесено в форум: Разное :: PHP.
GodSon:
Запускай под консолью и время выполнения не ограниченоо :)

Эта тема на forum.dklab.ru