我有一个名为 $result 的解析数组,我想将所有文件名从$result存储到变量还是另一个数组?甚至使用 $result 只调用文件名。我想要文件名,因为我想从 ftp 服务器下载今天日期的所有 csv 文件。这是我转储$result时的输出:
array(2) {
[0]=> array(10) {
["isdir"]=> bool(false)
["perms"]=> string(14) "////-rw-r--r--"
["number"]=> string(1) "1"
["owner"]=> string(7) "4664210"
["group"]=> string(5) "15000"
["size"]=> string(5) "79360"
["month"]=> string(3) "Nov"
["day"]=> string(2) "20"
["time/year"]=> string(5) "03:55"
["name"]=> string(10) "order3.csv"
}
[1]=> array(10) {
["isdir"]=> bool(false)
["perms"]=> string(14) "////-rw-r--r--"
["number"]=> string(1) "1"
["owner"]=> string(7) "4664210"
["group"]=> string(5) "15000"
["size"]=> string(5) "79360"
["month"]=> string(3) "Nov"
["day"]=> string(2) "20"
["time/year"]=> string(5) "04:34"
["name"]=> string(10) "order4.csv" }
}
我从以下代码中得到以下输出:
$result = parse_ftp_rawlist($files, false); // Function to parse array
var_dump ($result);
有人
写的文档中有一个函数作为示例。您可以通过一些调整来重复使用它。
function listDetailed($resource, $directory = '.')
{
if (is_array($children = @ftp_rawlist($resource, $directory)))
{
$result = array();
$items = array();
foreach ($children as $child)
{
$chunks = preg_split("/'s+/", $child);
list($item['rights'], $item['number'], $item['user'], $item['group'], $item['size'], $item['month'], $item['day'], $item['time'],$item['name']) = $chunks;
$item['type'] = $chunks[0]{0} === 'd' ? 'directory' : 'file';
if($item['type'] == 'file')
{
$result['files'][] = $item['name'];
}
}
return $result;
}
}