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:// приводила к ошибке.

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

add a note add a note

User Contributed Notes 3 notes

up
1
php at f00n dot com
13 years ago
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
up
-1
Anonymous
12 years ago
<?
$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);
?>
up
-8
fazil dot stormhammer dot nospam at gmail dot com
9 years ago
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);
To Top