對(duì)于需要在 PHP 程序中管理遠(yuǎn)程 FTP 服務(wù)器文件的開(kāi)發(fā)者來(lái)說(shuō),PHP 提供了許多函數(shù)來(lái)完成這個(gè)難題。其中之一就是 FTP_NLIST 函數(shù),它允許你列表遠(yuǎn)程 FTP 服務(wù)器上的文件。
比如說(shuō),假設(shè)我們需要獲取位于 FTP 服務(wù)器根目錄下所有文件的名稱(chēng)。我們可以如下使用 FTP_NLIST 函數(shù):
$ftp_server = "ftp.example.com"; $ftp_user = "username"; $ftp_pass = "password"; // 連接 FTP 服務(wù)器 $conn = ftp_connect($ftp_server) or die("無(wú)法連接 FTP 服務(wù)器"); // 登錄 if (@ftp_login($conn, $ftp_user, $ftp_pass)) { echo "成功登錄 FTP 服務(wù)器"; } else { echo "無(wú)法登錄 FTP 服務(wù)器"; exit(); } // 獲取文件列表 $files = ftp_nlist($conn, "/"); // 輸出文件列表 foreach ($files as $file) { echo "上述代碼連接到 FTP 服務(wù)器,登錄成功后,使用 FTP_NLIST 函數(shù)獲取位于 FTP 服務(wù)器根目錄下所有文件的名稱(chēng),并輸出這些文件的名稱(chēng)。 需要注意的是,F(xiàn)TP_NLIST 函數(shù)返回的文件名可能包含路徑信息。比如 FTP 服務(wù)器上存在名為 "images/logo.png" 的文件,F(xiàn)TP_NLIST 函數(shù)返回的將是 "/images/logo.png",其中開(kāi)頭的斜杠表示文件的絕對(duì)路徑。 如果只需要獲取文件名,可以使用 PHP 的 basename 函數(shù)剝離文件名中的路徑信息。比如可以改為:" . $file . "
"; } // 關(guān)閉 FTP 連接 ftp_close($conn);
foreach ($files as $file) { echo "這樣將只輸出文件名 "logo.png"。 除了列出根目錄下的所有文件,F(xiàn)TP_NLIST 函數(shù)還可以列出任意目錄下的文件。比如,如果我們需要列出名為 "uploads" 的目錄下所有文件的名稱(chēng),可以把 FTP_NLIST 函數(shù)的第二個(gè)參數(shù)設(shè)置為 "/uploads",如下:" . basename($file) . "
"; }
$files = ftp_nlist($conn, "/uploads");注意,F(xiàn)TP_NLIST 函數(shù)只能列出文件名和目錄名,不能列出文件的詳細(xì)信息(比如文件大小、修改時(shí)間等)。如果需要獲得更多文件信息,可以考慮使用 FTP_LIST 函數(shù)。