本文實(shí)例講述了php中目錄操作opendir()、readdir()及scandir()用法。分享給大家供大家參考,具體如下:
opendir(path,context)
若成功,則該函數(shù)返回一個(gè)目錄流,否則返回 false 以及一個(gè) error??梢酝ㄟ^(guò)在函數(shù)名前加上 “@” 來(lái)隱藏 error 的輸出。
readdir()
函數(shù)返回由 opendir()
打開(kāi)的目錄句柄中的條目。若成功,則該函數(shù)返回一個(gè)文件名,否則返回 false。
scandir()
函數(shù)返回一個(gè)數(shù)組,其中包含指定路徑中的文件和目錄。
若成功,則返回一個(gè)數(shù)組,若失敗,則返回 false。如果 directory 不是目錄,則返回布爾值 false
付上2段搜到的讀取目錄的代碼,親測(cè)有效
顯示目錄中文件名
// 打開(kāi)目錄,然后讀取其內(nèi)容
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
echo "filename:" . $file . "br>";
}
closedir($dh);
}
}
拷貝一個(gè)目錄的文件到另一個(gè)目錄
copy_dir($from_dir,$to_dir);
function copy_dir($from_dir,$to_dir){
if(!is_dir($from_dir)){
return false;
}
echo "\r\n from:",$from_dir,'---to',$to_dir;
$from_files = scandir($from_dir);
//如果不存在目標(biāo)目錄,則嘗試創(chuàng)建
if(!file_exists($to_dir)){
@mkdir($to_dir);
}
if(!empty($from_files)){
foreach ($from_files as $file){
if($file == '.' || $file == '..' ){
continue;
}
if(is_dir($from_dir.'/'.$file)){//如果是目錄,則調(diào)用自身
copy_dir($from_dir.'/'.$file,$to_dir.'/'.$file);
}else{//直接copy到目標(biāo)文件夾
copy($from_dir.'/'.$file,$to_dir.'/'.$file);
}
}
}
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP目錄操作技巧匯總》、《php文件操作總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- 使用PHP函數(shù)scandir排除特定目錄
- PHP獲取當(dāng)前文件所在目錄 getcwd()函數(shù)
- php文件夾與文件目錄操作函數(shù)介紹
- php中判斷文件空目錄是否有讀寫(xiě)權(quán)限的函數(shù)代碼
- PHP解析目錄路徑的3個(gè)函數(shù)總結(jié)
- PHP使用glob函數(shù)遍歷目錄或文件夾的方法
- php file_exists 檢查文件或目錄是否存在的函數(shù)
- PHP遍歷目錄函數(shù)opendir()、readdir()、closedir()、rewinddir()總結(jié)
- PHP刪除非空目錄的函數(shù)代碼小結(jié)
- PHP目錄函數(shù)實(shí)現(xiàn)創(chuàng)建、讀取目錄教程實(shí)例
- php使用scandir()函數(shù)掃描指定目錄下所有文件示例