首頁 > 後端開發 > php教程 > PHP的FTP學習(一)_PHP教程

PHP的FTP學習(一)_PHP教程

WBOY
發布: 2016-07-21 16:03:57
原創
803 人瀏覽過

By Vikram Vaswani
Melonfire
November 07, 2000
   我們是一群PHP的忠實FANS,我們因各種不同的原因使用它-WEB站點的開發,畫畫圖,數據庫的聯接等-我們發現,它非常的友好,強大而且易於使用……  
你可能已經看到PHP是怎樣被用於創建GIF和JPEG圖像,從數據庫中動態的獲取信息等等,但這只是冰山的一角---最新版本的PHP擁有強大的檔案傳輸功能。
在這篇教學裡,我將向你展示FTP如何透過HTTP和FTP連結來傳輸文件,同時也會有一些簡單的程式碼,跟我來吧!

首先,你應該知道PHP是透過HTTP和FTP連結來傳輸檔案的。透過HTTP上傳檔案早在PHP3就已經出現,現在,新的FTP函數已經在新的PHP版本出現了!
開始之前,你需要確信你的PHP支援FTP,你可以透過以下程式碼查知:

--------------------- -------------------------------------------------- ---------


phpinfo();

?>
--------------- -------------------------------------------------- ---------------
檢查輸出結果,有一「Additional Modules」區,這裡列示了你的PHP支援的模組;如果你沒發現FTP模組,你最好重新安裝PHP,並新增FTP支援!

先讓我們來看看一個典型的FTP任務是怎麼完成的吧!
----------------------------------------------- ---------------------------------
$ ftp ftp.server.com
Connected to ftp. server.com
220 server.com FTP server ready.
Name (server:john): john
331 Password required for john.
Password:
230 User john logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connnection for //lsl. -xr-x  5 john   users        3072 Nov  2 11:03 .
drwxr-x 
drwxr--r--   2 john   users        1024 Oct  5 13: 26 bin
drwx--x--x   8 john   users        1024 Nov  2 10:59 public_html -rw-r-- r--   1 john   users     2941465 Oct  9 17:21 data.zip
226 Transfer complete.
ftp> bin
226 Transfer complete.
ftp> bin
226 Transfer complete.
ftp> bin
226 Transfer complete.
ftp> bin
0. : data.zip remote: data.zip
200 PORT command successful.
150 Opening BINARY mode data connection for data.zip(2941465 bytes).
226 Transfer complete. >221 Goodbye.
------------------------------------------- -------------------------------------
你可以看到,進程明顯被分成幾段:聯接(與FTP伺服器建立聯接)、驗證(確定使用者是否有權力進入系統)、傳輸(這裡包括列目錄,上傳或下載檔案)、取消聯接。

使用PHP來FTP的步驟
建立一個PHP的FTP連接必須遵守以下基本步驟:開啟一個聯結 - 發出認證資訊 - 使用PHP函數操縱目錄和傳輸檔案。
以下具體實作:
---------------------------------------- ----------------------------------------


// 聯接FTP服務器
$conn = ftp_connect("ftp.server.com");

// 使用username和password登錄
ftp_login($conn, "john", "doe ");

// 取得遠端系統類型
ftp_systype($conn);

// 列示檔
$filelist = ftp_nlist($conn, "." );

// 下載檔案
ftp_get($conn, "data.zip", "data.zip", FTP_BINARY);

// 關閉連接
ftp_quit( $conn);

?>
----------------------------------- ---------------------------------------------
讓我們一步步的來:
為了初結化一個FTP聯接,PHP提供了ftp_connect()這個函數,它使用主機名稱和連接埠作為參數。在上面的例子裡,主機名字為「ftp.server.com」;如果連接埠沒指定,PHP將會使用「21」作為預設埠來建立連結。
聯接成功後ftp_connect()傳回一個handle句柄;這個handle將會被以後使用的FTP函式使用。
----------------------------------------------- ---------------------------------


// connect to FTP server
$conn = ftp_connect("ftp.server.com");

?>
---------------------- -------------------------------------------------- --------
一旦建立聯接,使用ftp_login()傳送一個使用者名稱和使用者密碼。你可以看到,這個函數ftp_login()使用了ftp_connect()函數傳來的handle,以確定使用者名稱和密碼能被提交到正確的伺服器。
----------------------------------------------- ---------------------------------


// log in with username and password
ftp_login($conn, "john", "doe");

?>
-------------------- -------------------------------------------------- ----------
這時,你就能夠做你想做的事情了,具體在下一部分講:

做完你想做的事後,千萬要記住使用ftp_quit()函數關閉你的FTP連接

--------------------------------- -----------------------------------------------


// close connection
ftp_quit($conn);

?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/316118.htmlTechArticleBy Vikram Vaswani Melonfire November 07, 2000 我們是一群PHP的忠實FANS,我們因各種不同的原因使用它-WEB站點的開發,畫圖,資料庫的聯接等-我們發現...
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板