1

重複の可能性:
ディレクトリが PHP に存在するかどうかを確認する

scandir() を使用してディレクトリの内容を確認し、javascript を使用してパス パラメータを送信し、内容を #container div にロードしようとしています。

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

fetch_images.phpscandir($_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 に答える