ftprawlist
㈠ 本地文件自動上傳到伺服器
ftp 函數庫
介紹
FTP 函數庫可以幫助您實現客戶機與伺服器之間標准文件傳送協議(FTP)的規范進行文件傳送。FTP 的詳細定義參見 http://www.faqs.org/rfcs/rfc959.html。此擴展庫用來使運行的腳本對 FTP 伺服器進行廣泛的控制。如果你只想在一個 FTP 伺服器上讀寫文件,考慮使用文件系統函數庫中的 ftp:// wrapper,它提供了簡單和更直觀的介面。
需求
無需外部庫文件就可以加入本擴展模塊的支持。
安裝
In order to use FTP functions with your php configuration, you should add the --enable-ftp option when installing PHP 4 or --with-ftp when using PHP 3.
PHP 的 Windows 版本已經內置該擴展模塊的支持。您無需載入任何附加的擴展庫即可使用這些函數。
運行時配置
該擴展模塊未定義任何設置指令。
資源類型
在 FTP 模塊中使用了一個資源類型,該資源類型為 FTP 的連接句柄,由函數 ftp_connect() 產生。
預定義常量
由於這些常量是由該擴展模塊定義的,因此只有在該擴展模塊被編譯到 PHP 中,或者在運行時被動態載入後,這些常量才有效。
FTP_ASCII (integer)
FTP_TEXT (integer)
FTP_BINARY (integer)
FTP_IMAGE (integer)
FTP_TIMEOUT_SEC (integer)
參考函數 ftp_set_option()。
下列變數在 PHP 4.3.0 以後版本中被加入。
FTP_AUTOSEEK (integer)
參考函數 ftp_set_option()。
FTP_AUTORESUME (integer)
為 GET 和 PUT 請求自動決定恢復和開始的位置 (只能工作在 FTP_AUTOSEEK 打開的情況下)
FTP_FAILED (integer)
非同步傳輸失敗
FTP_FINISHED (integer)
非同步傳輸成功
FTP_MOREDATA (integer)
非同步傳輸是活動狀態的
範例
例子 1. FTP 實例
<?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);
?>
目錄
ftp_cp -- 切換到當前目錄的父目錄
ftp_chdir -- 在 FTP 伺服器上切換當前目錄
ftp_chmod -- Set permissions on a file via FTP
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 -- 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 -- 重新得到一個 FTP 伺服器上的文件並寫入本地文件 (non-blocking)
ftp_nb_put -- 存儲一個文件至 FTP 伺服器 (non-blocking)
ftp_nlist -- 返回給定目錄的文件列表
ftp_pasv -- 返回當前 FTP 被動模式是否打開
ftp_put -- 上傳文件到 FTP 伺服器
ftp_pwd -- 返回當前目錄名
ftp_quit -- ftp_close() 的別名
ftp_raw -- Sends an arbitrary command to an FTP server
ftp_rawlist -- 返回指定目錄下文件的詳細列表
ftp_rename -- 更改 FTP 伺服器上指定的文件名
ftp_rmdir -- 刪除一個目錄
ftp_set_option -- 設置各種 FTP 運行時間
ftp_site -- 向伺服器發送站點命令
ftp_size -- 返回指定文件的大小
ftp_ssl_connect -- Opens an Secure SSL-FTP connection
ftp_systype -- 返回遠程 FTP 伺服器的系統類型
㈡ php用ftp_nlist獲取到列表後怎麼判斷是一個文件還是一個目錄
用ftp_rawlist,返回結果會告訴你,是文件還是文件夾,非要用ftp_nlist的話,就循環判斷返回值裡面的ftp_size,如果是文件夾,會返回-1,但是效率沒有ftp_rawlist來得高