array_search没有显示ftp_rawlist的结果

时间:2014-11-19 11:37:30

标签: php ftp

我正在尝试搜索FTP服务器中某个月上传或修改的文件。我尝试ftp_rawlist()存储服务器上所有文件的详细信息,并使用array_search()在该数组中搜索包含月份名称的行,但它没有显示任何结果,甚至没有显示错误。有什么想法吗?

以下是代码:

$buff = ftp_rawlist($ftp_conn, '/');

// $buff now contains (checked via var_dump())
// array(20) {
//   [0]=> string(64) "drwxr-xr-x 3 4664210 15000 4096 Aug 19 15:09 .Archived"
//   [1]=> string(66) "…"
// }

echo array_search("Aug" ,$buff);

2 个答案:

答案 0 :(得分:0)

array_search只会返回相同的匹配项,因此除非该值完全符合" Aug "并且只有" 8月",它将不会返回匹配。

此外,array_search仅返回一个值,因此即使搜索字符串的一部分也是如此,即使存在多个匹配项,也只会返回第一个匹配项值。

要搜索数组,请使用以下代码:

foreach ($buff as $array_value) {
  if (strpos($array_value, "Aug") !== false) {
    // found
  }
}

答案 1 :(得分:-1)

尝试:

$buff = ftp_rawlist($ftp_conn, '/');

print_r(array_search("Aug" ,$buff));