列出目录中的文件,但不列出子目录PHP

时间:2019-03-04 11:33:50

标签: php

我有以下代码,用于列出特定目录中的所有文件,然后以JSON返回

<?php
header('Content-Type: application/json');
$vars = filter_input_array( INPUT_POST, FILTER_SANITIZE_STRING );

$id = $vars['id'];

$dir = $_SERVER['DOCUMENT_ROOT'] . '/resources/' . $id;

$list = array(); //main array

if(is_dir($dir)){
if($dh = opendir($dir)){
    while(($file = readdir($dh)) != false){

        if($file == "." or $file == ".."){
            //...
        } else { //create object with two fields

            array_push($list, $file);
        }
    }
}


echo json_encode($list);
}
?>

但是,除了返回文件之外,它还会返回该文件夹中的子目录。如何更改if语句以也检查它是否是已检索的实际文件?

1 个答案:

答案 0 :(得分:0)

遇到is_dir()

if ($file == "." or $file == ".." or is_dir($file)) {