FTP

  • Введение
  • Установка и настройка
  • Предопределенные константы
  • Примеры
  • FTP Функции
    • ftp_alloc — Резервирует место на диске для закачиваемого файла
    • ftp_cdup — Переходит в родительскую директорию
    • ftp_chdir — Изменяет текущую директорию на FTP сервере
    • ftp_chmod — Устанавливает права доступа к файлу
    • ftp_close — Закрывает соединение с FTP-сервером
    • ftp_connect — Устанавливает соединение с FTP-сервером
    • ftp_delete — Удаляет файл на FTP-сервере
    • ftp_exec — Запрашивает выполнение команды на FTP-сервере
    • ftp_fget — Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле
    • ftp_fput — Загружает предварительно открытый файл на FTP-сервер
    • ftp_get_option — Получает текущие параметры FTP соединения
    • ftp_get — Загружает файл с FTP-сервера
    • ftp_login — Выполняет вход на FTP сервер
    • ftp_mdtm — Возвращает время последней модификации файла
    • ftp_mkdir — Создаёт директорию
    • ftp_nb_continue — Продолжает асинхронную операцию
    • ftp_nb_fget — Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле
    • ftp_nb_fput — Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме
    • ftp_nb_get — Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл
    • ftp_nb_put — Загружает файл на FTP сервер в асинхронном режиме
    • ftp_nlist — Возвращает список файлов в заданной директории
    • ftp_pasv — Включает или выключает пассивный режим
    • ftp_put — Загружает файл на FTP-сервер
    • ftp_pwd — Возвращает имя текущей директории
    • ftp_quit — Псевдоним ftp_close
    • ftp_raw — Отправляет произвольную команду FTP-серверу
    • ftp_rawlist — Возвращает подробный список файлов в заданной директории
    • ftp_rename — Переименовывает файл или директорию на FTP-сервере
    • ftp_rmdir — Удаляет директорию
    • ftp_set_option — Устанавливает параметры соединения с FTP сервером
    • ftp_site — Отправляет серверу команду SITE
    • ftp_size — Возвращает размер указанного файла
    • ftp_ssl_connect — Устанавливает соединение с FTP-сервером через SSL
    • ftp_systype — Возвращает тип операционной системы FTP-сервера

Коментарии

For those who dont want to deal with handling the connection once created, here is a simple class that allows you to call any ftp function as if it were an extended method.  It automatically puts the ftp connection into the first argument slot (as all ftp functions require).

This code is php 5.3+

<?php
class ftp{
    public 
$conn;

    public function 
__construct($url){
       
$this->conn ftp_connect($url);
    }
   
    public function 
__call($func,$a){
        if(
strstr($func,'ftp_') !== false && function_exists($func)){
           
array_unshift($a,$this->conn);
            return 
call_user_func_array($func,$a);
        }else{
           
// replace with your own error handler.
           
die("$func is not a valid FTP function");
        }
    }
}

// Example
$ftp = new ftp('ftp.example.com');
$ftp->ftp_login('username','password');
var_dump($ftp->ftp_nlist());
?>
2011-09-21 12:15:45
http://php5.kiev.ua/manual/ru/book.ftp.html
Upload file to server via ftp.

<?php
$ftp_server
="";
 
$ftp_user_name="";
 
$ftp_user_pass="";
 
$file "";//tobe uploaded
 
$remote_file "";

 
// set up basic connection
 
$conn_id ftp_connect($ftp_server);

 
// login with username and password
 
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

 
// upload a file
 
if (ftp_put($conn_id$remote_file$fileFTP_ASCII)) {
    echo 
"successfully uploaded $file\n";
    exit;
 } else {
    echo 
"There was a problem while uploading $file\n";
    exit;
    }
 
// close the connection
 
ftp_close($conn_id);
?>
2013-02-24 19:19:28
http://php5.kiev.ua/manual/ru/book.ftp.html
Think about using the ftp:// wrapper for simple manipulations (getting or storing a single file).

<?php
$content 
file_get_contents('ftp://login:password@server/directory/file.txt');
copy('local_file.txt''ftp://login:password@server/directory/new_file.txt');
?>

Same kind of mistake: using cURL to get the content of a public URL...
2013-08-01 13:21:24
http://php5.kiev.ua/manual/ru/book.ftp.html
In example 2 above you may need to set the system to to use pasv to get a result ie:

$ftp = new ftp('ftp.example.com'); 
$ftp->ftp_login('username','password'); 
$ftp->ftp_pasv(TRUE);
var_dump($ftp->ftp_nlist());
2014-01-17 11:56:29
http://php5.kiev.ua/manual/ru/book.ftp.html
syntax error in the above example, ftp_nlist requires a directory parameter:

$ftp->ftp_nlist('.');   // retrieve contents of current directory
2015-04-10 19:39:05
http://php5.kiev.ua/manual/ru/book.ftp.html

    Поддержать сайт на родительском проекте КГБ