ftp://

ftps://

ftp:// -- ftps://Доступ к URL-адресам по протоколу FTP(s)

Описание

Позволяет читать существующие файлы и создавать новые файлы через FTP. Если сервер FTP не поддерживает режим passive mode, соединение будет невозможно.

Вы можете открыть файл либо для чтения, либо для записи, но не одновременно для того и другого. Если файл на сервере FTP уже существует, и вы пытаетесь открыть его для записи, но не указали опцию контекста overwrite, соединение будет невозможно. Если вам необходимо перезаписать существующие файлы на FTP, укажите опцию overwrite в контексте и откройте файл для записи. Кроме того, вы можете использовать FTP расширение.

Если вы установили директиву from в файле php.ini, то это значение будет отправлено как пароль при анонимном подключении к FTP.

Использование

  • ftp://example.com/pub/file.txt
  • ftp://user:password@example.com/pub/file.txt
  • ftps://example.com/pub/file.txt
  • ftps://user:password@example.com/pub/file.txt

Опции

Основная информация
Атрибут PHP 4 PHP 5
Ограничение по allow_url_fopen Да Да
Чтение Да Да
Запись Да (только новые файлы) Да (новые файлы / существующие файлы с опцией overwrite)
Добавление Нет Да
Одновременное чтение и запись Нет Нет
Поддержка stat() Нет Начиная с PHP 5.0.0 доступны только: filesize(), filetype(), file_exists(), is_file(), и is_dir(). Начиная с PHP 5.1.0 доступны: filemtime().
Поддержка unlink() Нет Да
Поддержка rename() Нет Да
Поддержка mkdir() Нет Да
Поддержка rmdir() Нет Да

Список изменений

Версия Описание
4.3.0 Добавлена поддержка ftps://.

Примечания

Замечание:

FTPS поддерживается только когда включена поддержка расширения OpenSSL.

Если сервер не поддерживает SSL, то соединение переключается обратно на обычный нешифрованный протокол FTP.

Замечание: Дополнение
Начиная с PHP 5.0.0 файлы могут быть дописаны с помощью ftp:// URL-обертки. В предыдущих версиях попытка дописать файл через ftp:// приводила к ошибке.

Смотрите также

Коментарии

For Intranet purposes I found I preferred to move my file via ftp functions to match the session user's ftp account and put the file in a holding bay so I knew who it was from.

The FTP wrapper method will NOT do this if your ftp server does NOT support passive mode.

eg.  an ftp server behind NAT/routing
2004-07-04 03:39:21
http://php5.kiev.ua/manual/ru/wrappers.ftp.html
Автор:
<?
$str 
="replace all contenents";
$filew="ftp://gufo:gufo@192.168.1.55:21/jj.php";
$opts = array('ftp' => array('overwrite' => true));
$context stream_context_create($opts);
$strwri file_put_contents($filew,$str,LOCK_EX,$context);
?>
2005-09-25 23:33:25
http://php5.kiev.ua/manual/ru/wrappers.ftp.html
Document says "Allows read access to existing files and creation of new files via FTP. If the server does not support passive mode ftp, the connection will fail. "

As of version 5.2.5 at least fopen("ftp://...") uses an ACTIVE mode connection by default (it issues an FTP PORT command but not a PASV command).  To force passive mode:

$f = fopen("ftp://...");
ftp_pasv($f, true);
2008-04-25 16:41:17
http://php5.kiev.ua/manual/ru/wrappers.ftp.html

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