日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP-递归扫描目录和删除目录

發(fā)布時(shí)間:2023/11/29 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP-递归扫描目录和删除目录 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

(1) 通過(guò)遞歸掃描目錄并打印

// php遞歸掃描目錄 function scanMyDir($path){// 打開(kāi)目錄$dh = opendir($path);echo '<ul>';// 循環(huán)讀取目錄while(($file = readdir($dh)) !== false){// 先要過(guò)濾掉當(dāng)前目錄'.'和上一級(jí)目錄'..'if($file == '.' || $file == '..') continue;// 為了能夠顯示中文目錄/文件,需要進(jìn)行轉(zhuǎn)碼echo '<li>'.iconv('gbk','utf-8',$file).'</li>';// 如果該文件仍然是一個(gè)目錄,進(jìn)入遞歸if(is_dir($path.'/'.$file)){scanMyDir($path.'/'.$file);}}echo '</ul>'; } $path = 'e:/Music'; scanMyDir($path);

需要注意的地方:

①在讀取目錄的時(shí)候,會(huì)讀取.和..,分別表示當(dāng)前目錄和上一級(jí)目錄,需要過(guò)濾掉它們以進(jìn)行后續(xù)的打印和操作。

②中文操作系統(tǒng)默認(rèn)的編碼是gbk,因此目錄與文件的編碼為gbk。想要在網(wǎng)頁(yè)上顯示的時(shí)候沒(méi)有亂碼,需要通過(guò)iconv函數(shù)進(jìn)行轉(zhuǎn)碼。

③這一份代碼是用無(wú)序列表來(lái)顯示目錄結(jié)構(gòu)的。還有一種辦法:可以添加一個(gè)遞歸深度$deep作為函數(shù)的參數(shù),默認(rèn)為0,每一次遞歸加1。這樣不同的層級(jí)就擁有了不同的遞歸深度,通過(guò)str_repeat()函數(shù)來(lái)利用遞歸深度,就能讓目錄結(jié)構(gòu)分出層次了。

(2) 通過(guò)遞歸刪除目錄及目錄下的文件

?

// php遞歸刪除目錄和文件 function delAll($path){// 打開(kāi)目錄$dh = opendir($path);// 循環(huán)讀取目錄while(($file = readdir($dh)) !== false){// 過(guò)濾掉當(dāng)前目錄'.'和上一級(jí)目錄'..'if($file == '.' || $file == '..') continue;// 如果該文件是一個(gè)目錄,則進(jìn)入遞歸if(is_dir($path.'/'.$file)){delAll($path.'/'.$file);} else {// 如果不是一個(gè)目錄,則將其刪除unlink($path.'/'.$file);}}// 退出循環(huán)后(此時(shí)已經(jīng)刪除所有了文件),關(guān)閉目錄并刪除closedir($dh);rmdir($path); } $path = './test'; delAll($path);

?

需要注意的一點(diǎn)是:只有當(dāng)這個(gè)目錄不是工作狀態(tài)的時(shí)候,才能進(jìn)行刪除。所以必須要先通過(guò)closedir()關(guān)閉目錄,并且確保在計(jì)算機(jī)中也退出了該目錄,再進(jìn)行刪除的操作。

?

轉(zhuǎn)載于:https://www.cnblogs.com/mozshaw/p/5372895.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的PHP-递归扫描目录和删除目录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。