PHP 8.3.4 Released!

ftp://

ftps://

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

Описание

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

Вы можете открыть файл либо для чтения, либо для записи, но не одновременно для того и другого. Если файл на сервере 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

Опции

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

Примечания

Замечание:

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

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

Замечание: Дополнение
Файлы могут быть дописаны с помощью URL-обёртки ftp://.

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

add a note

User Contributed Notes 3 notes

up
-8
php at f00n dot com
19 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
-14
Anonymous
18 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
-15
fazil dot stormhammer dot nospam at gmail dot com
15 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