欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP目錄函數(shù)實現(xiàn)創(chuàng)建、讀取目錄教程實例

 更新時間:2011年01月13日 23:31:18   作者:  
今天主要介紹在PHP網(wǎng)站開發(fā)中文件目錄函數(shù)的應用。
今天主要介紹在PHP網(wǎng)站開發(fā)中文件目錄函數(shù)的應用。在PHP網(wǎng)站開發(fā)中,我們時常需要讀取目錄文件信息或者創(chuàng)建目錄以存放必要的文件,而當目錄文件大小超出規(guī)定大小時我們又需要刪除目錄文件,如手工刪除目錄即費時又費力,我們完全可以通過PHP自帶的目錄操作函數(shù)實現(xiàn)對目錄文件的管理。
  本文以實例教程形式講解如何使用PHP文件目錄函數(shù),實例的主要功能:一、利用PHP目錄函數(shù)創(chuàng)建多個目錄,二、在目錄下創(chuàng)建文本文件并在文件中寫入相關(guān)信息,三、遞歸實現(xiàn)讀取(遍歷)目錄(文件夾)信息并以列表形式列出目錄下的所有子目錄及文件。
  本實例涉及到文件讀寫操作,推薦先查看PHP文件讀寫教程。
  本實例目錄結(jié)構(gòu):PHP執(zhí)行文件與leapsoulcn目錄處在同一級,創(chuàng)建的子目錄處在leapsoulcn目錄下。
第一步:使用PHP目錄函數(shù)創(chuàng)建相關(guān)目錄
復制代碼 代碼如下:

<?
mkdir("leapsoulcn",0777);
mkdir("leapsoulcn/leapsoul",0777);
mkdir("leapsoulcn/php",0777);
mkdir("leapsoulcn/php/web",0777);
mkdir("leapsoulcn/php/web/test",0777);
?>

說明:在這段代碼中,先使用PHP目錄函數(shù)mkdir創(chuàng)建主目錄leapsoulcn,并創(chuàng)建了兩個子目錄,leapsoul及php,在php目錄下創(chuàng)建了web以及test目錄。
知識點:mkdir主要用來創(chuàng)建目錄,有兩個參數(shù):新目錄名(注意創(chuàng)建多級目錄時,必須包含目錄路徑),新目錄的訪問權(quán)限,即umask值,第一個數(shù)字通常是0,第二個數(shù)字指定了所有者特許,第三個數(shù)字指定了所有者用戶群的特許 ,第四個數(shù)字制定了全局特許,可用值如下:
1 = 可執(zhí)行
2 = 可寫
4 = 可讀
將三個數(shù)字加起來,7代表擁有所有權(quán)限,你可以根據(jù)自己的需要對創(chuàng)建的新目錄賦予不同的權(quán)限。
第二步:在leapsoulcn/php/目錄下創(chuàng)建leapsoulcn.txt文件,并寫入相關(guān)的內(nèi)容
復制代碼 代碼如下:

<?
@$fp = fopen("leapsoulcn/php/leapsoulcn.txt","w");
if(!$fp){
echo "system error";
exit();
}else {
$fileData = "domain"."\t"."www.dbjr.com.cn"."\n";
$fileData = $fileData."description"."\t"."PHP網(wǎng)站開發(fā)教程網(wǎng),面向PHP初學者的PHP教程網(wǎng)。"."\n";
$fileData = $fileData."title"."\t"."本實例主要講述PHP目錄函數(shù)的具體應用:涵蓋讀取目錄、創(chuàng)建目錄、刪除目錄等功能";
fwrite($fp,$fileData);
fclose($fp);
}
?>

說明:這段實例代碼具體解釋可參考之前介紹的PHP文件寫入教程。
第三步:讀取(遍歷)目錄名及文本文件名
復制代碼 代碼如下:

<?
$dir = opendir("leapsoulcn");
while ($fileDir = readdir($dir)) {
if (!strcmp($fileDir,".")||!strcmp($fileDir,"..")) {
continue;
}
echo $fileDir."目錄列表:<br/><br/>";
$subDir = "leapsoulcn/".$fileDir;
$dirC = "->";
listSubDir($subDir,$dirC);
}
closedir($dir);
?>

說明:在這段代碼實例教程中主要使用了PHP目錄函數(shù)opendir(),readdir(),closedir()。
知識點:
1、opendir函數(shù)用來打開所游覽的具體目錄,函數(shù)參數(shù)為目錄名,注意,由于在本實例教程中PHP執(zhí)行文件和游覽的主目錄處在同一級,所以傳遞的參數(shù)僅僅只是目錄名,如果不在同一級或讀取多級目錄時,需帶上具體的目錄路徑或文件路徑。
2、在通過opendir函數(shù)讀取了主目錄后,通過while循環(huán)來進一步讀取主目錄下的多級目錄及文件,此處使用的PHP目錄函數(shù)為readdir,此函數(shù)從目錄中讀取目錄或文件名,當沒有可讀取的目錄或文件時,返回False,注意,讀取的目錄包含.和..,在本實例教程中由于是一級級往下讀取目錄,所以當讀取的目錄信息為.和..時跳出本次循環(huán),繼續(xù)讀取下一級目錄。
3、在讀取完主目錄的所有子目錄及文件后,通過PHP目錄函數(shù)closedir來關(guān)閉目錄句柄,類似于fclose函數(shù)關(guān)閉文件。
第四步:創(chuàng)建讀取(遍歷)目錄及文件的遞歸函數(shù)
復制代碼 代碼如下:

<?
function listSubDir($dirInfo,$dirC)
{
if (is_dir($dirInfo)) {
$subDir = dir($dirInfo);
while ($subFile = $subDir->read()) {
if (!strcmp($subFile,".")||!strcmp($subFile,"..")) {
continue;
}
$newDir = $dirInfo."/".$subFile;
if (is_file($newDir)) {
echo $dirC.$subFile.":文件屬性<br/>";
}
else{
echo $dirC.$subFile.":目錄屬性<br/>";
listSubDir($newDir,"-".$dirC);
}
}
$subDir->close();
return;
}
else return;
}
?>

說明:此函數(shù)有兩個參數(shù):需要讀取的目錄(包含目錄路徑),顯示用的多級目錄分隔符。在這個函數(shù)中主要使用了PHP文件目錄函數(shù)is_dir,is_file,dir類。
知識點:
1、首先通過is_dir來判斷要讀取的是目錄還是文件,此函數(shù)的參數(shù)和opendir函數(shù)類似,注意目錄路徑問題。
2、如果判斷需要讀取的是目錄,則通過dir目錄類來進一步讀取其多級子目錄,層層遞歸。dir類所具有的操作函數(shù)功能和opendir、readdir、closedir這些PHP目錄函數(shù)功能一致。
  至此整個創(chuàng)建目錄,讀取目錄的代碼實例就算完成了,可列出主目錄下的多級子目錄名及文本文件名。
如何刪除目錄?
  刪除目錄可以使用PHP目錄函數(shù)rmdir,函數(shù)的參數(shù)和mkdir函數(shù)參數(shù)類似,可以使用相對目錄路徑或絕對目錄路徑,只是要刪除的目錄必須為空目錄,通過上述代碼實例你完全可以判斷哪些是空目錄。
  通過應用這些基本的PHP目錄函數(shù)及文件操作函數(shù),完全可以實現(xiàn)和文件系統(tǒng)打交道,自行編寫一個具有創(chuàng)建、刪除目錄、讀取目錄、管理文件的網(wǎng)站目錄文件管理系統(tǒng),那文件信息、文件大小如何讀?。縿h除或移動文件如何實現(xiàn)?呵呵,我們下次分享吧。

相關(guān)文章

  • PHP獲取文件擴展名的4種方法

    PHP獲取文件擴展名的4種方法

    這篇文章主要介紹了PHP獲取文件擴展名的4種方法,涉及PHP針對字符串與數(shù)組及上傳文件屬性等相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • PHP 函數(shù)執(zhí)行效率的小比較

    PHP 函數(shù)執(zhí)行效率的小比較

    要求寫一個自定義函數(shù),使 $data = array(12, 43, 87, 45) => $data = array(1, 2, 4, 3, 8, 7, 4, 5);
    2010-10-10
  • php實現(xiàn)在線通訊錄功能(附源碼)

    php實現(xiàn)在線通訊錄功能(附源碼)

    這篇文章主要為大家詳細介紹了php實現(xiàn)在線通信錄功能的具體代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • PHP項目多語言配置平臺實現(xiàn)過程解析

    PHP項目多語言配置平臺實現(xiàn)過程解析

    這篇文章主要介紹了PHP項目多語言配置平臺實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • PHP中限制IP段訪問、禁止IP提交表單的代碼

    PHP中限制IP段訪問、禁止IP提交表單的代碼

    最近,小編發(fā)現(xiàn)有一個云南的網(wǎng)友經(jīng)常在網(wǎng)站發(fā)表一些垃圾信息的評論,由于使用的事DEDECMS構(gòu)架,系統(tǒng)本身并無禁止IP功能,每天看到這些垃圾評論,盡管不多,但是讓人感覺不爽,那么如何來限制呢?
    2011-04-04
  • php實現(xiàn)curl模擬ftp上傳的方法

    php實現(xiàn)curl模擬ftp上傳的方法

    這篇文章主要介紹了php實現(xiàn)curl模擬ftp上傳的方法,實例分析了php基于curl實現(xiàn)FTP傳輸文件的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • PHP中設(shè)置時區(qū)方法小結(jié)

    PHP中設(shè)置時區(qū)方法小結(jié)

    今天發(fā)現(xiàn)一段PHP代碼中的時間判斷語句出了點問題,研究了一下發(fā)現(xiàn)問題出在PHP的時區(qū)設(shè)置上,PHP所取的時間默認是格林威治標準時間,所以和北京時間相差8小時
    2012-06-06
  • Could not load type System.ServiceModel.Activation.HttpModule解決辦法

    Could not load type System.ServiceModel.Activation.HttpModul

    本文章來詳細介紹關(guān)于Could not load type System.ServiceModel.Activation.HttpModule from assembly System.ServiceModel解決辦法,有需要的朋友可參考
    2012-12-12
  • PHP連接MySQL的2種方法小結(jié)以及防止亂碼

    PHP連接MySQL的2種方法小結(jié)以及防止亂碼

    本篇文章主要是對PHP連接MySQL的2種方法小結(jié)以及防止亂碼問題進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-03-03
  • Zend的AutoLoad機制介紹

    Zend的AutoLoad機制介紹

    在使用zend framework的時候,最先引入的一定是AutoLoad的機制,這里就想分析下Zend的AutoLoad是怎么引入的
    2012-09-09

最新評論