За последние 24 часа нас посетили 5380 программистов и 448 роботов. Сейчас ищут 128 программистов ...

Скачивание файла с FTP-сервера

Тема в разделе "PHP для новичков", создана пользователем mazahaler, 12 янв 2018.

  1. mazahaler

    mazahaler Новичок

    С нами с:
    2 ноя 2017
    Сообщения:
    66
    Симпатии:
    2
    Здравствуйте, пытаюсь реализовать скачивание файлов с FTP-сервера
    Подключение к FTP:
    PHP:
    1. <?php
    2.  
    3. $ftp_server = "192.168.100.5";                    //IP
    4. $ftp_user_name = "Admin";                        //Логин
    5. $ftp_user_pass = "qwerty12345";                //Пароль
    6. $paths = "../FTPFILES";                              //Путь к FTP каталогу
    7.  
    8. $conn_id = ftp_connect($ftp_server);
    9. // включение пассивного режима
    10. ftp_pasv($conn_id, true);
    11. // входим при помощи логина и пароля
    12. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
    13.  
    14.  
    15. // проверяем подключение
    16. if ((!$conn_id) || (!$login_result)) {
    17.        echo "FTP connection has failed!";
    18.        echo "Attempted to connect to $ftp_server for user: $ftp_user_name";
    19.        exit;
    20.    } else {
    21.         echo "Connected to $ftp_server, for user: $ftp_user_name";
    22.      
    23.    }
    24.  
    25.    ?>
    Скрипт:
    PHP:
    1. <?php
    2. ini_set('display_errors',1);
    3.  
    4. require_once '../connection.php';
    5. require_once '../ftp.php';
    6.  
    7. if (isset($_POST['filenameclass'])&& !empty($_POST['filenameclass']) && isset($_POST['id']) &&!empty($_POST['id'])){
    8.     $ID=intval($_POST['id']);
    9.     $FileName=$_POST['filenameclass'];
    10.     echo $FileName;
    11. // открыть файл для записи
    12. $file = $FileName;
    13. $fp = fopen($file, 'w');
    14.  
    15.  
    16. // Начало скачивания
    17. $ret = ftp_nb_fget($conn_id, $fp, $file, FTP_BINARY);
    18. while ($ret == FTP_MOREDATA) {
    19.  
    20.    // продолжение скачивания ...
    21.    $ret = ftp_nb_continue($conn_id);
    22. }
    23. if ($ret != FTP_FINISHED) {
    24.    echo "При скачивании файла произошла ошибка...";
    25.    exit(1);
    26. }
    27.  
    28. // закрытие файла
    29. fclose($fp);
    30.  
    31. }else{
    32.     echo "Параметры не переданы";
    33. }
    34.  
    35. ?>
    Но почему-то файл не скачивается.
    В $FileName имя файла, который нужно скачать. Такой файл имеется на FTP.
    В чем может быть дело?
     
  2. mazahaler

    mazahaler Новичок

    С нами с:
    2 ноя 2017
    Сообщения:
    66
    Симпатии:
    2
    Проблему решил.