如何检查scandir()是否返回任何错误或警告?

Sk *_*Raj 0 php file-io

可能重复:
检查PHP中是否存在目录

我正在尝试使用scandir()检查目录的内容并使用javascript发送路径参数并尝试加载#container div中的内容:

$("#container").load("fetch_images.php?path="+pathvariable);
Run Code Online (Sandbox Code Playgroud)

在fetch_images.php中我试图scandir($_GET['pathvariable'])扫描给定目录的元素.我的问题是如果没有使用$ _GET ['pathvariable']提供正确的路径,页面会显示一些警告和错误.

尝试扫描$files_dir_results = scandir($path);并使用foreach()显示数组的所有结果.

我不想在输出页面上显示任何类型的警告或错误.我知道我可以禁用PHP警告但我更喜欢更好的选择.

我不知道如何检查scandir()是否正在撤回任何错误或警告.谢谢.

vin*_*lis 6

我建议你先检查目录是否存在is_dir().然后,如果目录存在,请执行scandir()


Pas*_*nes 6

您应该首先使用is_dir检查路径是否有效,然后对其进行扫描

$images = array();
$valid_images = array('jpg','png','gif');
if(is_dir($_GET['path'])){
  foreach(scandir($_GET['path']) as $file){
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    if(in_array($ext, $valid_images)){
      array_push($images, $file);
    }   
 }
}

echo json_encode($images);
Run Code Online (Sandbox Code Playgroud)