ФорумПрограммированиеPHP для идиотов → Подправить загрузку по ftp

Подправить загрузку по ftp

  • matulis

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 20 марта 2010 г. 6:03

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

    Большое спасибо, надеюсь на помощь знатоков.

    <?php

    set_time_limit(0);
    error_reporting(0);

    $f_ftp = 'ftp.txt';
    $dir = '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($connect, true);
               $put = ftp_put($connect, $file, $dir.'/'.$file, FTP_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>';
        }

    ?>
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 20 марта 2010 г. 6:42, спустя 39 минут 20 секунд

    Дык в чем суть вопроса? Как список директорий получить на ftp или что?
  • matulis

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 20 марта 2010 г. 10:31, спустя 3 часа 49 минут 3 секунды


    Дык в чем суть вопроса? Как список директорий получить на ftp или что?
    суть вопроса заключается в том, что на серваке есть директория (папка), нужно чтобы заливало именно в папку, название папки может быть разным. то есть подключаемся, видим что есть какая-то папка, открываем ее и заливаем файлы. Все
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 20 марта 2010 г. 10:54, спустя 23 минуты 6 секунд

    Ты можешь не городить тут мильон строк кода, а написать один
    ftp_put
    с теми параметрами, которые передаешь и при которых он не туда заливает
  • matulis

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 20 марта 2010 г. 11:10, спустя 15 минут 27 секунд


    Ты можешь не городить тут мильон строк кода, а написать один
    ftp_put
    с теми параметрами, которые передаешь и при которых он не туда заливает


    если я правильно понимаю, то
    user:[email protected]

    все нормально заходит, но там на сервере вижу что есть директория user.site.com, нужно перейти в данную директорию и залить файл.

    напрямую конечный результат выглядит примерно таким образом user:[email protected]user.site.com/user.site.com
    если попробовать зайти вручную напрямую то не получается, сначала как бы в корень заходит, а потом открываешь папку и туда можно залить
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 20 марта 2010 г. 11:14, спустя 4 минуты 32 секунды

    И какое отношение имеют все эти рассуждения к тому, что я попросил привести?
  • matulis

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 20 марта 2010 г. 11:23, спустя 9 минут 9 секунд

    знал бы я точно, что ты хочешь, давно бы уже дал. все что есть, я выложил и объяснил, задачу, мог бы сам поправить, давно бы уже поправил.
    если можете обїяснить что куда добавить нужно, объясните пжстла.
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 20 марта 2010 г. 11:33, спустя 9 минут 26 секунд

    Я не знаю что поправить. Более того, я никода в жизни не работал с ftp из php, просто за ненадобностью.
    Чтоб понять что поправить - надо отлаживать скрипт.
    Прежде всего выяснить, что именно ты передаешь функции ftp_put, которая собственно и заливает. А это можешь сделать только ты.

    Короче, не можешь совладать с большим скриптом -  напиши сначала маленький, из трех строчек, который заливает один единственный файл и добейся чтоб он заливался куда надо.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!