php is_file()和is_dir()用于遍歷目錄時用法注意事項
更新時間:2010年03月02日 13:16:11 作者:
遍歷一個目錄并區(qū)分顯示其中的文件和子目錄文件夾的實現(xiàn)代碼。
1、目錄inc有以下內(nèi)容:
子目錄 0
子目錄 a
footer.html
header.html
login_function.inc.php
mysqli_connect.php
style.css
2、現(xiàn)在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);
結(jié)果卻只顯示了“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);
子目錄 0
子目錄 a
footer.html
header.html
login_function.inc.php
mysqli_connect.php
style.css
2、現(xiàn)在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);
結(jié)果卻只顯示了“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);
相關(guān)文章
完美解決PHP中的Cannot modify header information 問題
以下是對PHP中的Cannot modify header information問題的解決方法進行了詳細的分析介紹,需要的朋友可以過來參考下2013-08-08
PHP使用OCR技術(shù)實現(xiàn)識別圖片中的文字
OCR是一種通過圖像處理技術(shù)從圖片或掃描件中提取文字的技術(shù),它可以將非結(jié)構(gòu)化的圖片內(nèi)容轉(zhuǎn)化為可編輯的文本,下面我們就來看看PHP如何OCR識別圖片中的文字2024-11-11
PHP簡單實現(xiàn)定時監(jiān)控nginx日志文件功能示例
這篇文章主要介紹了PHP簡單實現(xiàn)定時監(jiān)控nginx日志文件功能,涉及php定時讀取nginx服務器日志以及基于curl的數(shù)據(jù)傳輸相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
PHP5全版本繞過open_basedir讀文件腳本漏洞詳細介紹
這篇文章主要介紹了PHP5全版本繞過open_basedir讀文件腳本漏洞詳細介紹,這個漏洞很久之前(大概5年前)被提出來了,到現(xiàn)在的最新版本中依然存在,需要的朋友可以參考下2015-01-01
php基于PDO實現(xiàn)功能強大的MYSQL封裝類實例
這篇文章主要介紹了php基于PDO實現(xiàn)功能強大的MYSQL封裝類,結(jié)合完整實例形式分析了php基于pdo實現(xiàn)mysql數(shù)據(jù)庫連接、增刪改查、事務等操作的方法,需要的朋友可以參考下2017-02-02

