簡介
FTP是ARPANet的標準文件傳輸協議,該網絡就是現今Internet的前身。
PHP FTP函數是通過文件傳輸協議提供對文件服務器的客戶端訪問,FTP函數用于打開、登陸以及關閉連接,也用于上傳、下載、重命名、刪除以及獲取服務器上文件信息。
安裝
PHP 的 Windows 版本內置了對 FTP 擴展的支持,無需下載;如運行的是PHP的Linux版本則需要安裝擴張,即在編譯PHP時添加 --enable-ftp 選項(PHP4 或以上版本)或者 --with-ftp 選項(PHP3 版本)。
PHP FTP函數
ftp_alloc() 為要上傳到 FTP 服務器的文件分配空間。
ftp_cdup() 把當前目錄改變為 FTP 服務器上的父目錄。
ftp_chdir() 改變 FTP 服務器上的當前目錄。
ftp_chmod() 通過 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 服務器上創建一個新目錄。
ftp_nb_continue() 連續獲取/發送文件。(無阻塞)
ftp_nb_fget() 從 FTP 服務器上下載一個文件并保存到本地一個已經打開的文件中。(無阻塞)
ftp_nb_fput() 上傳一個已經打開的文件,并在 FTP 服務器上把它保存為一個文件。(無阻塞)
ftp_nb_get() 從 FTP 服務器上下載文件。(無阻塞)
ftp_nb_put() 把文件上傳到 FTP 服務器上。(無阻塞)
ftp_nlist() 返回 FTP 服務器上指定目錄的文件列表。
ftp_pasv() 把被動模式設置為打開或關閉。
ftp_put() 把文件上傳到 FTP 服務器上。
ftp_pwd() 返回當前目錄名稱。
ftp_quit() ftp_close() 的別名。
ftp_raw() 向 FTP 服務器發送一個 raw 命令。
ftp_rawlist() 返回指定目錄中文件的詳細列表。
ftp_rename() 重命名 FTP 服務器上的文件或目錄。
ftp_rmdir() 刪除 FTP 服務器上的一個目錄。
ftp_set_option() 設置 FTP 連接的各種運行時選項。
ftp_site() 向服務器發送 SITE 命令。
ftp_size() 返回指定文件的大小。
ftp_ssl_connect() 打開一個安全的 SSL-FTP 連接。
ftp_systype() 返回 FTP 服務器的系統類型標識符。
PHP FTP 常量
FTP_ASCII
FTP_TEXT
FTP_BINARY
FTP_IMAGE
FTP_TIMEOUT_SEC
FTP_AUTOSEEK
FTP_AUTORESUME 為 GET 和 PUT 請求自動決定恢復和開始的位置
FTP_FAILED 異步傳輸失敗
FTP_FINISHED 異步傳輸成功
FTP_MOREDATA 異步傳輸是活動狀態的
使用示例:
上傳文件簡單示例代碼
$host = '127.0.0.1'; //服務器IP$user = 'admin'; //賬戶$pwd = '123456';//密碼//嘗試連接一個 FTP 服務器 21為端口,默認21$f_conn=ftp_connect($host,21);//登陸FTP服務器 參數1:規定要登錄的 FTP 連接;參數2:規定用于登錄的用戶名;參數3規定用于登錄的密碼。三個參數都為必填$f_login = ftp_login($f_conn,$user,$pwd);//把文件上傳到服務器上,參數1:使用的FTP鏈接,參數2:上傳到FTP服務器上報存的文件,參數3:要上傳的文件,參數4:傳輸模式,可選FTP_ASCII、FTP_BINAR,參數5:在本地文件中的何處開始復制。默認是 0;參數1-4必填,參數5選填$result = ftp_put($f_conn,'toText.txt', 'fromText.txt', FTP_ASCII);//關閉連接ftp_close($f_conn);
以上是一個簡單的使用示例,大家可根據自己的實際情況來使用。