Заливка файлов по фтп

Discussion in 'ПО для Web разработчика' started by edos, 1 Mar 2010.

  1. edos

    edos Member

    Joined:
    29 Aug 2005
    Messages:
    115
    Likes Received:
    26
    Reputations:
    9
    Ищу простенький скрипт на пхп для заливки нескольких файлов на сервер по списку фтп.
     
  2. edos

    edos Member

    Joined:
    29 Aug 2005
    Messages:
    115
    Likes Received:
    26
    Reputations:
    9
    если кто возьмется написать возможно небольшое вознаграждение в вм
     
  3. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    http://ru2.php.net/manual/en/function.ftp-fput.php
    Кури
     
  4. edos

    edos Member

    Joined:
    29 Aug 2005
    Messages:
    115
    Likes Received:
    26
    Reputations:
    9
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    10$ php, 20$ - perl, 50$ - perl multithread
     
  6. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Вот попробуй... Работать должен (по крайней мере раньше работал)

    PHP:
    <?php

    //**************** By Fepsis **************//

    set_time_limit(0);
    error_reporting(0);

    $f_ftp 'ftp.txt';        // ftp.txt - файл с ФТП акками вида: user:pass@host по одному в строке... лежать должен в папке со скриптом... 
    $dir 'files';        // files - папка, в которой лежат файлы, которые необходимо грузить на ФТП... лежать должна в папке со скриптом...

    $ftp file($f_ftp);
    $files scandir($dir);

    function 
    put_file ($data_ftp$dir$file)
         {
        
        echo 
    $data_ftp.' : '.$file;

        
    $data_ftp 'ftp://'.$data_ftp;
        
    $data parse_url($data_ftp);
        
    $connect ftp_connect($data[host]);
        if(
    $connect)
             {
            
    $res ftp_login($connect$data[user], $data[pass]);
            if(
    $res)
                 {

                
    ftp_pasv($connecttrue);
                
    $put ftp_put($connect$file$dir.'/'.$fileFTP_ASCII);
                if(
    $put) {echo ': <span style="color:#009900; font-weight:bold">Load</span><br>';}
                else echo 
    ': <span style="color:#FF0000; font-weight:bold">No put</span><br>';
                 }
            else echo 
    ': <span style="color:#FF0000; font-weight:bold">No login</span><br>';

            
    ftp_close($connect);

             }
        else echo 
    ': <span style="color:#FF0000; font-weight:bold">No connect</span><br>';


         }



    foreach (
    $ftp as $data_ftp)
         {
        for (
    $i 2$i count($files); $i++)
             {
            
    put_file(trim($data_ftp), $dir$files[$i]);
             }
        echo 
    '<br>';
         }

    ?>
    В папку со скриптом кидаем файл ftp.txt, в нём акки фтп... Там же создаём папку "files" всё содержимое этой папки заливается в корень ФТП... В конце работы скрипта получишь отчёт...
     
    #6 Fepsis, 3 Mar 2010
    Last edited: 3 Mar 2010
    3 people like this.
  7. matulis

    matulis New Member

    Joined:
    20 Mar 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    а можно ли, чтобы не в корень заливало, а в папку скажем, что есть на серваке, то есть если есть какая-то папка, то переходим туда и заливаем. Имя папки в принципе меняется, поэтому привязки не должно быть. То есть главное чтобы она там была. А то файлы льются рядом