PHP的FTP學習(二)

來源:互聯網
上載者:User

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");

?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.