1

可能重复:
检查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() 是否正在返回任何错误或警告。谢谢。

4

2 回答 2

7

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

于 2012-11-03T09:48:24.847 回答
7

您应该首先使用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);
于 2012-11-03T09:49:50.753 回答