PHP的FTP學習(一)

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

首先,你應該知道php(做為現在的主流開發語言)是通過HTTP和FTP聯接來傳輸文件的。通過HTTP上傳文件早在php(做為現在的主流開發語言)3中就已經出現,現在,新的FTP函數已經在新的php(做為現在的主流開發語言)版本中出現瞭!
開始之前,你需要確信你的php(做為現在的主流開發語言)支持FTP,你可以通過以下代碼查知:

——————————————————————————–
<?

php(做為現在的主流開發語言)info();

?>
——————————————————————————–
檢查輸出結果,有一“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 connection for /bin/ls.
drwxr-xr-x  5 john   users        3072 Nov  2 11:03 .
drwxr-xr-x  88 root     root         2048 Nov  1 23:26 ..
drwxr–r–   2 john   users        1024 Oct  5 13:26 bin
drwx–x–x   8 john   users        1024 Nov  2 10:59 public_html
drwxr–r–   4 john   users        1024 Nov  2 11:26 tmp
-rw-r–r–   1 john   users     2941465 Oct  9 17:21 data.zip
226 Transfer complete.
ftp> bin
200 Type set to I.
ftp> get data.zip
local: data.zip remote: data.zip
200 PORT command successful.
150 Opening BINARY mode data connection for data.zip(2941465 bytes).
226 Transfer complete.
ftp> bye
221 Goodbye.
——————————————————————————–
你可以看到,進程明顯被分為幾段:聯接(與FTP服務器建立聯接)、驗證(確定用戶是否有權力進入系統)、傳輸(這裡包括列目錄,上傳或下載文件)、取消聯接。

使用php(做為現在的主流開發語言)來FTP的步驟
建立一個php(做為現在的主流開發語言)的FTP聯接必須遵守以下基本步驟:打開一個聯接 – 發出認證信息 – 使用php(做為現在的主流開發語言)函數操縱目錄和傳輸文件。
以下具體實現:
——————————————————————————–
<?

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

// 使用username和password登錄

發佈留言