ディレクトリを横断する際の is_file() 関数と is_dir() 関数に関する注意事項

WBOY
リリース: 2016-07-25 09:00:47
オリジナル
951 人が閲覧しました
  1. $dir = $_SERVER['DOCUMENT_ROOT'];
  2. $dir = "$dir/files/";
  3. $d = opendir($dir);
  4. while(false !== ($f=readdir($d)))
  5. {
  6. if(is_file($f)){
  7. echo "

    $f

    ";
  8. }else{
  9. echo "

    ;それはディレクトリ $f

    ";
  10. }
  11. }
  12. closedir($d);
コードをコピーします

結果には、"footer.html" がファイルであることのみが示され、その他はディレクトリになりました: ディレクトリです。 それはディレクトリです.. ディレクトリは フッター.html ディレクトリは header.html です ディレクトリは、login_function.files.phpです。 ディレクトリは mysqli_connect.php です style.css ディレクトリです

その理由は、is_file と is_dir で $f を直接使用することができないためです。これは、PHP によってルート ディレクトリにあるファイルとみなされ、ルート ディレクトリにファイル footer.html があるため、このファイルは正しく表示されました。 他の人はそうではありません。 コードを次の内容に変更するだけです。

  1. while(false !== ($f=readdir($d)))
  2. {
  3. if(is_file("$dir/$f")){
  4. echo "< h2>$f";
  5. }else{
  6. echo "

    は $f

    ";
  7. }
  8. }
  9. closedir($d);
コードをコピーします


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート