我有一个名为$ 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);
答案 0 :(得分:0)
某人编写的文档中有一个函数作为示例。您可以通过一些调整重复使用它。
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;
}
}