程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php is_file()和is_dir()用於遍歷目錄時用法注意事項

php is_file()和is_dir()用於遍歷目錄時用法注意事項

編輯:關於PHP編程

1、目錄inc有以下內容:
子目錄 0
子目錄 a
footer.html
header.html
login_function.inc.php
mysqli_connect.php
style.css

2、現在PHP要遍歷inc目錄,並只顯示文件,不顯示目錄0和a,代碼如下:
復制代碼 代碼如下:
$dir = $_SERVER['DOCUMENT_ROOT'];
$dir = "$dir/inc/";
$d = opendir($dir);
while(false !==($f=readdir($d)))
{
if(is_file($f)){
echo " <h2>$f </h2>";
}else{
echo " <h2>是目錄$f </h2>";
}
}
closedir($d);

結果卻只顯示了“footer.html”是文件,其它都變成目錄了:
是目錄.
是目錄..
是目錄a
footer.html
是目錄header.html
是目錄login_function.inc.php
是目錄mysqli_connect.php
是目錄style.css

這是由於不能在is_file和is_dir中直接使用“$f”,這樣會被PHP當作是根目錄下的該文件,而在我的根目錄下有footer.html這個文件,所以會正確顯示這個文件。其它則不行。代碼改成:
要正確顯示,需要改造代碼:
復制代碼 代碼如下:
while(false !== ($f=readdir($d)))
{
if(is_file("$dir/$f")){
echo "<h2>$f</h2>";
}else{
echo "<h2>是目錄$f</h2>";
}
}
closedir($d);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved