如何从解析的数组中存储文件名?

时间:2014-11-20 11:12:18

标签: php arrays parsing

我有一个名为$ 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);

1 个答案:

答案 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;
    }
}