程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP的FTP學習(二)

PHP的FTP學習(二)

編輯:關於PHP編程

By Vikram Vaswani
Melonfire
November 07, 2000
登錄了FTP服務器,PHP提供了一些函數,它們能獲取一些關於系統和文件以及目錄的信息。

ftp_pwd()
如果你想知道你當前所在的目錄時,你就要用到這個函數了。
--------------------------------------------------------------------------------
<?

// get current location
$here = ftp_pwd($conn);

?>
--------------------------------------------------------------------------------
萬一你需要知道服務器端運行的是什麼系統呢?
ftp_systype()正好提供給你這方面的信息。
--------------------------------------------------------------------------------
<?

// get system type
$server_os = ftp_systype($conn);

?>
--------------------------------------------------------------------------------
關於被動模式(PASV)的開關,PHP也提供了這樣一個函數,它能打開或關閉PASV(1表示開)
--------------------------------------------------------------------------------
<?

// turn PASV on
ftp_pasv($conn, 1);

?>
--------------------------------------------------------------------------------

現在,你已經知道你在“哪裡”和“誰”跟你在一起了吧,現在我們開始在目錄中逛逛--實現這一功能的是ftp_chdir()函數,它接受一個目錄名作為參數。
--------------------------------------------------------------------------------
<?

// change directory to "public_html"
ftp_chdir($conn, "public_html");

?>
--------------------------------------------------------------------------------
如果你想回到你剛才所在的目錄(父目錄),ftp_cdup()能幫你實現你的願望,這個函數能回到上一級目錄。
--------------------------------------------------------------------------------
<?

// go up one level in the directory tree
ftp_cdup($conn);

?>
--------------------------------------------------------------------------------
你也能夠建立或移動一個目錄,這要使用ftp_mkdir()和ftp_rmdir()函數;注意:ftp_mkdir()建立成功的話,就會返回新建立的目錄名。
--------------------------------------------------------------------------------
<?

// make the directory "test"
ftp_mkdir($conn, "test");

// remove the directory "test"
ftp_rmdir($conn, "test");

?>
--------------------------------------------------------------------------------
建立一個FTP的目錄通常是傳輸文件--- 那麼就讓我們開始吧!

先是上傳文件,ftp_put()函數能很好的勝任這一職責,它需要你指定一個本地文件名,上傳後的文件名以及傳輸的類型。比方說:如果你想上傳“abc.txt”這個文件,上傳後命名為“xyz.txt”,命令應該是這樣:
--------------------------------------------------------------------------------
<?

// upload
ftp_put($conn, "xyz.txt", "abc.txt", FTP_ASCII);

?>
--------------------------------------------------------------------------------
下載文件:
PHP所提供的函數是ftp_get(),它也需要一個服務器上文件名,下載後的文件名,以及傳輸類型作為參數,例如:服務器端文件為his.zip,你想下載至本地機,並命名為hers.zip,命令如下:
--------------------------------------------------------------------------------
<?

// download
ftp_get($conn, "hers.zip", "his.zip", FTP_BINARY);

?>
--------------------------------------------------------------------------------
PHP定義了兩種模式作為傳輸模式 FTP_BINARY 和 FTP_ASCII ,這兩種模式的使用請看上兩例,至於其詳細解釋,本文也不多說了,具體請參看相關書籍。




我該怎樣列示文件呢?(用DIR? :) )
PHP提供兩種方法:一種是簡單列示文件名和目錄,另一種就是詳細的列示文件的大小,權限,創立時間等信息。
第一種使用ftp_nlist()函數,第二種用ftp_rawlist().兩種函數都需要一個目錄名做為參數,都返回目錄列做為一個數組,數組的每一個元素相當於列表的一行。
--------------------------------------------------------------------------------
<?

// obtain file listing
$filelist = ftp_nlist($conn, ".");

?>
--------------------------------------------------------------------------------
你一定想知道文件的大小吧!別急,這裡有一個非常容易的函數ftp_size(),它返回你所指定的文件的大小,使用BITES作為單位。要指出的是,如果它返回的是 “-1”的話,意味著這是一個目錄,在隨後的例子中,你將會看到這一功能的應用。
--------------------------------------------------------------------------------
<?

// obtain file size of file "data.zip"
$filelist = ftp_size($conn, "data.zip");

?> 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved