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

时间:2012-11-03 09:44:04

标签: php file-io

  

可能重复:
  Check whether a Directory Exists in PHP

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

$("#container").load("fetch_images.php?path="+pathvariable);
fetch_images.php中的

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

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

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

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

2 个答案:

答案 0 :(得分:6)

我建议您首先检查目录是否与is_dir()一起存在。然后,如果目录存在,请执行scandir()

答案 1 :(得分:5)

首先应检查路径是否对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);