用于目录列表的PHP


PHP for directory listing

我习惯于使用循环而不是函数来列出目录中的一组文件及其子目录中的文件由于我通过基于xml的webdav和php获取有关目录的信息,因此本机函数是无效的,因此请理解该问题尚未在此处提出$urlloc用于删除再次循环的同一目录

foreach ($xml as $key) {
if(empty($key->propstat->prop->resourcetype[0])){
    echo $key->href."<br/>";//files are printed, for debugging perposes im printing it
}else{
    $Nurlloc=$key->href;
    if ($Nurlloc!=$urlloc){
        echo "<b>".$Nurlloc."</b><br/>";//directorys printed in bold for debugging
        $urlloc=$Nurlloc;
        //gtndirdown()

以上是我了解它是否是目录的方法注意我希望能够让这个代码循环通过,并获得目录中的所有文件,我还将在获得时发布文件数组

[response] => Array
    (
        [0] => SimpleXMLElement Object
            (
                [href] => /dav/product_images/
                [propstat] => SimpleXMLElement Object
                    (
                        [prop] => SimpleXMLElement Object
                            (
                                [resourcetype] => SimpleXMLElement Object
                                    (
                                        [0] => SimpleXMLElement Object
                                            (
                                            )
                                    )
                                [quota-used-bytes] => 2147483647
                                [quota-available-bytes] => 2147483647
                            )
                        [status] => HTTP/1.1 200 OK
                    )
            )
        [1] => SimpleXMLElement Object
            (
                [href] => /dav/product_images/a/
                [propstat] => SimpleXMLElement Object
                    (
                        [prop] => SimpleXMLElement Object
                            (
                                [resourcetype] => SimpleXMLElement Object
                                    (
                                        [0] => SimpleXMLElement Object
                                            (
                                            )
                                    )
                                [quota-used-bytes] => 2147483647
                                [quota-available-bytes] => 2147483647
                            )
                        [status] => HTTP/1.1 200 OK
                    )
            )

iv在这个问题上被困了4天,我想知道是否有人能想出这个问题的逻辑

也许这是一个可以在逻辑中实现的想法

// the name of directory
$dir='path_to_your_directory';
$files = array_slice(scandir($dir), 2);
print_r($files);