[英]How to get the list/array of file names on server?
如何獲取服務器上文件名的列表/數組(無擴展名)。 我只想要文件名(curl或ftp也可以)。
我已經嘗試過ftp_nlist
和curl_getinfo
但是輸出不符合預期。
// connect and login to FTP server
$ftp_server = "user.com";
$ftp_username = "user";
$ftp_userpass = "demo";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to
$ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
// get file list of current directory
$file_list = ftp_nlist($ftp_conn, "/user/new/");
var_dump($file_list);
// close connection
ftp_close($ftp_conn);
假設我在服務器http://user.com/user/new
上有4個zip文件,分別是1.zip,2.zip,3.zip,4.zip
。
預期:
1
2
3
4
實際輸出:
Array([0]=> string(1) "." [1]=> string(2) ".." [2]=> string(5) "1.zip" [3]=> string(5) "2.zip" [4]=> string(5) "3.zip" [5]=> string(5) "4.zip")
您可以使用以下后期處理調用獲得所需的結果:
$result = array_filter(array_map(function ($v) {
return explode('.', $v)[0];
}, $file_names));
我認為實際輸出在邏輯上是正確的,因為在Linux系統中。 是當前目錄,而..表示父目錄。 它也使命令行處理變得更快,因此您無需鍵入完整路徑。 它存在於操作系統中的每個目錄結構中,因此,如果您希望獲得期望的輸出,則只需填充或跳過的值。 和..從返回數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.