FTP Functions
介紹
The functions in this extension implement client access to file servers speaking the File Transfer Protocol (FTP) as defined in » https://www.faqs.org/rfcs/rfc959. This extension is meant for detailed access to an FTP server providing a wide range of control to the executing script. If you only wish to read from or write to a file on an FTP server, consider using the ftp:// wrapper with the filesystem functions which provide a simpler and more intuitive interface.
需求
建立這個延伸不需要任何外部程式庫。
安裝
In order to use FTP functions with your PHP configuration, you should add the --enable-ftp option when installing PHP 4 or greater or --with-ftp when using PHP 3.
Windows 版本的 PHP 已內建此延伸的支援﹐所以你毋須再載入附加的延伸來使用這些功能。
執行時期組態
php.ini中沒有定義此延伸的組態指令。
資源類型
This extension uses one resource type, which is the link identifier of the FTP connection, returned by ftp_connect() or ftp_ssl_connect().
預先定義常數
以下的常數由此延伸定義,只在這個延伸被編譯成PHP或實行時期被動態載入時有效。
- FTP_ASCII (integer)
- FTP_TEXT (integer)
- FTP_BINARY (integer)
- FTP_IMAGE (integer)
- FTP_TIMEOUT_SEC (integer)
-
See ftp_set_option() for information.
The following constants were introduced in PHP 4.3.0.
- FTP_AUTOSEEK (integer)
-
See ftp_set_option() for information.
- FTP_AUTORESUME (integer)
-
Automatically determine resume position and start position for GET and PUT requests (only works if FTP_AUTOSEEK is enabled)
- FTP_FAILED (integer)
-
Asynchronous transfer has failed
- FTP_FINISHED (integer)
-
Asynchronous transfer has finished
- FTP_MOREDATA (integer)
-
Asynchronous transfer is still active
範例
Example#1 FTP example
<?php
// 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);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
// close the FTP stream
ftp_close($conn_id);
?>
Table of Contents
- ftp_alloc — Allocates space for a file to be uploaded
- ftp_cdup — Changes to the parent directory
- ftp_chdir — Changes the current directory on a FTP server
- ftp_chmod — Set permissions on a file via FTP
- ftp_close — Closes an FTP connection
- ftp_connect — Opens an FTP connection
- ftp_delete — Deletes a file on the FTP server
- ftp_exec — Requests execution of a command on the FTP server
- ftp_fget — Downloads a file from the FTP server and saves to an open file
- ftp_fput — Uploads from an open file to the FTP server
- ftp_get_option — Retrieves various runtime behaviours of the current FTP stream
- ftp_get — Downloads a file from the FTP server
- ftp_login — Logs in to an FTP connection
- ftp_mdtm — Returns the last modified time of the given file
- ftp_mkdir — Creates a directory
- ftp_nb_continue — Continues retrieving/sending a file (non-blocking)
- ftp_nb_fget — Retrieves a file from the FTP server and writes it to an open file (non-blocking)
- ftp_nb_fput — Stores a file from an open file to the FTP server (non-blocking)
- ftp_nb_get — Retrieves a file from the FTP server and writes it to a local file (non-blocking)
- ftp_nb_put — Stores a file on the FTP server (non-blocking)
- ftp_nlist — Returns a list of files in the given directory
- ftp_pasv — Turns passive mode on or off
- ftp_put — Uploads a file to the FTP server
- ftp_pwd — Returns the current directory name
- ftp_quit — Alias of ftp_close
- ftp_raw — Sends an arbitrary command to an FTP server
- ftp_rawlist — Returns a detailed list of files in the given directory
- ftp_rename — Renames a file or a directory on the FTP server
- ftp_rmdir — Removes a directory
- ftp_set_option — Set miscellaneous runtime FTP options
- ftp_site — Sends a SITE command to the server
- ftp_size — Returns the size of the given file
- ftp_ssl_connect — Opens an Secure SSL-FTP connection
- ftp_systype — Returns the system type identifier of the remote FTP server