PHP的FTP學(xué)習(xí)(二)
發(fā)表時間:2024-01-17 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]By Vikram Vaswani Melonfire November 07, 2000 登錄了FTP服務(wù)器,PHP提供了一些函數(shù),它們能獲取一些關(guān)于系統(tǒng)和文件以及目錄的信息。 ftp_pwd() 如果你想知道你當前所在的目錄時,你就要用到這個函數(shù)了。 ---------------------...
By Vikram Vaswani
Melonfire
November 07, 2000
登錄了FTP服務(wù)器,PHP提供了一些函數(shù),它們能獲取一些關(guān)于系統(tǒng)和文件以及目錄的信息。
ftp_pwd()
如果你想知道你當前所在的目錄時,你就要用到這個函數(shù)了。
--------------------------------------------------------------------------------
<?
// get current location
$here = ftp_pwd($conn);
?>
--------------------------------------------------------------------------------
萬一你需要知道服務(wù)器端運行的是什么系統(tǒng)呢?
ftp_systype()正好提供給你這方面的信息。
--------------------------------------------------------------------------------
<?
// get system type
$server_os = ftp_systype($conn);
?>
--------------------------------------------------------------------------------
關(guān)于被動模式(PASV)的開關(guān),PHP也提供了這樣一個函數(shù),它能打開或關(guān)閉PASV(1表示開)
--------------------------------------------------------------------------------
<?
// turn PASV on
ftp_pasv($conn, 1);
?>
--------------------------------------------------------------------------------
現(xiàn)在,你已經(jīng)知道你在“哪里”和“誰”跟你在一起了吧,現(xiàn)在我們開始在目錄中逛逛--實現(xiàn)這一功能的是ftp_chdir()函數(shù),它接受一個目錄名作為參數(shù)。
--------------------------------------------------------------------------------
<?
// change directory to "public_html"
ftp_chdir($conn, "public_html");
?>
--------------------------------------------------------------------------------
如果你想回到你剛才所在的目錄(父目錄),ftp_cdup()能幫你實現(xiàn)你的愿望,這個函數(shù)能回到上一級目錄。
--------------------------------------------------------------------------------
<?
// go up one level in the directory tree
ftp_cdup($conn);
?>
--------------------------------------------------------------------------------
你也能夠建立或移動一個目錄,這要使用ftp_mkdir()和ftp_rmdir()函數(shù);注意:ftp_mkdir()建立成功的話,就會返回新建立的目錄名。
--------------------------------------------------------------------------------
<?
// make the directory "test"
ftp_mkdir($conn, "test");
// remove the directory "test"
ftp_rmdir($conn, "test");
?>
--------------------------------------------------------------------------------
建立一個FTP的目錄通常是傳輸文件--- 那么就讓我們開始吧!
先是上傳文件,ftp_put()函數(shù)能很好的勝任這一職責(zé),它需要你指定一個本地文件名,上傳后的文件名以及傳輸?shù)念愋汀1确秸f:如果你想上傳“abc.txt”這個文件,上傳后命名為“xyz.txt”,命令應(yīng)該是這樣:
--------------------------------------------------------------------------------
<?
// upload
ftp_put($conn, "xyz.txt", "abc.txt", FTP_ASCII);
?>
--------------------------------------------------------------------------------
下載文件:
PHP所提供的函數(shù)是ftp_get(),它也需要一個服務(wù)器上文件名,下載后的文件名,以及傳輸類型作為參數(shù),例如:服務(wù)器端文件為his.zip,你想下載至本地機,并命名為hers.zip,命令如下:
--------------------------------------------------------------------------------
<?
// download
ftp_get($conn, "hers.zip", "his.zip", FTP_BINARY);
?>
--------------------------------------------------------------------------------
PHP定義了兩種模式作為傳輸模式 FTP_BINARY 和 FTP_ASCII ,這兩種模式的使用請看上兩例,至于其詳細解釋,本文也不多說了,具體請參看相關(guān)書籍。
我該怎樣列示文件呢?(用DIR? :) )
PHP提供兩種方法:一種是簡單列示文件名和目錄,另一種就是詳細的列示文件的大小,權(quán)限,創(chuàng)立時間等信息。
第一種使用ftp_nlist()函數(shù),第二種用ftp_rawlist().兩種函數(shù)都需要一個目錄名做為參數(shù),都返回目錄列做為一個數(shù)組,數(shù)組的每一個元素相當于列表的一行。
--------------------------------------------------------------------------------
<?
// obtain file listing
$filelist = ftp_nlist($conn, ".");
?>
--------------------------------------------------------------------------------
你一定想知道文件的大小吧!別急,這里有一個非常容易的函數(shù)ftp_size(),它返回你所指定的文件的大小,使用BITES作為單位。要指出的是,如果它返回的是 “-1”的話,意味著這是一個目錄,在隨后的例子中,你將會看到這一功能的應(yīng)用。
--------------------------------------------------------------------------------
<?
// obtain file size of file "data.zip"
$filelist = ftp_size($conn, "data.zip");
?>