PHP unlink與rmdir刪除目錄及目錄下所有文件實(shí)例代碼
在php中刪除文件與目錄其實(shí)很簡(jiǎn)單只要兩個(gè)函數(shù)一個(gè)是unlink一個(gè)rmdir函數(shù),如果要實(shí)現(xiàn)刪除目錄及目錄下的文件我們需要利用遞歸來(lái)操作.
函數(shù)代碼:僅刪除指定目錄下的文件,不刪除目錄文件夾,代碼如下:
class shanchu {
//循環(huán)目錄下的所有文件
function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” )
{
if ( $handle = opendir( “$dirName” ) ) {
while ( false !== ( $item = readdir( $handle ) ) ) {
if ( $item != “.” && $item != “..” ) {
if ( is_dir( “$dirName/$item” ) ) {
delFileUnderDir( “$dirName/$item” );
} else {//開(kāi)源代碼phpfensi.com
if( unlink( “$dirName/$item” ) )echo “成功刪除文件: $dirName/$item<br />n”;
}
}
}
closedir( $handle );
}
}
}
假設(shè)需要?jiǎng)h除一個(gè)名叫”upload”目錄下的所有文件,但無(wú)需刪除目錄文件夾,你可以通過(guò)以下代碼完成:
<?php delFileUnderDir( ‘upload');?>
php刪除所有目錄,代碼如下:
function deltree($pathdir)
{
echo $pathdir;//調(diào)試時(shí)用的
if(is_empty_dir($pathdir))//如果是空的
{
rmdir($pathdir);//直接刪除
}
else
{//否則讀這個(gè)目錄,除了.和..外
$d=dir($pathdir);
while($a=$d->read())
{
if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);}
//如果是文件就直接刪除
if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..'))
{//如果是目錄
if(!is_empty_dir($pathdir.'/'.$a))//是否為空
{//如果不是,調(diào)用自身,不過(guò)是原來(lái)的路徑+他下級(jí)的目錄名
deltree($pathdir.'/'.$a);
}
if(is_empty_dir($pathdir.'/'.$a))
{//如果是空就直接刪除
rmdir($pathdir.'/'.$a);
}
}
}
$d->close();
echo "必須先刪除目錄下的所有文件";//我調(diào)試時(shí)用的
}
}
function is_empty_dir($pathdir)
{
//判斷目錄是否為空
$d=opendir($pathdir);
$i=0;
while($a=readdir($d))
{
$i++;
}
closedir($d);
if($i>2){return false;}
else return true;
}
PHP刪除目錄及目錄下所有文件,代碼如下:
<?php
//循環(huán)刪除目錄和文件函數(shù)
function delDirAndFile( $dirName )
{
if ( $handle = opendir( “$dirName” ) ) {
while ( false !== ( $item = readdir( $handle ) ) ) {
if ( $item != “.” && $item != “..” ) {
if ( is_dir( “$dirName/$item” ) ) {
delDirAndFile( “$dirName/$item” );
} else {
if( unlink( “$dirName/$item” ) )echo “成功刪除文件: $dirName/$item<br />n”;
}
}
}
closedir( $handle );
if( rmdir( $dirName ) )echo “成功刪除目錄: $dirName<br />n”;
}
}
//假設(shè)需要?jiǎng)h除一個(gè)名叫”upload”的同級(jí)目錄即此目錄下的所有文件,你可以通過(guò)以下代碼完成:
delDirAndFile( ‘upload');
?>
總結(jié)
以上所述是小編給大家介紹的PHP unlink與rmdir刪除目錄及目錄下所有文件實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
CodeIgniter配置之routes.php用法實(shí)例分析
這篇文章主要介紹了CodeIgniter配置之routes.php用法,結(jié)合實(shí)例形式分析了routes.php中常用配置參數(shù)的含義及具體使用技巧,需要的朋友可以參考下2016-01-01
PHP獲取當(dāng)前日期和時(shí)間及格式化方法參數(shù)
這篇文章主要介紹了PHP獲取當(dāng)前日期和時(shí)間及格式化方法參數(shù),本文先是講解了獲取當(dāng)前日期時(shí)間的方法,其后總結(jié)了格式化參數(shù),需要的朋友可以參考下2015-05-05
ThinkPHP實(shí)現(xiàn)批量刪除數(shù)據(jù)的代碼實(shí)例
這篇文章主要介紹了ThinkPHP實(shí)現(xiàn)批量刪除數(shù)據(jù)的代碼實(shí)例,需要的朋友可以參考下2014-07-07
thinkPHP5框架導(dǎo)出Excel文件簡(jiǎn)單操作示例
這篇文章主要介紹了thinkPHP5框架導(dǎo)出Excel文件簡(jiǎn)單操作,結(jié)合實(shí)例形式分析了thinkPHP5框架安裝及使用PHPExcel插件實(shí)現(xiàn)導(dǎo)出Excel格式文件的相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
thinkphp配置連接數(shù)據(jù)庫(kù)技巧
這篇文章主要介紹了thinkphp配置連接數(shù)據(jù)庫(kù)技巧,實(shí)例講述了ThinkPHP入口同目錄下配置數(shù)據(jù)庫(kù)及控制器另外連接數(shù)據(jù)庫(kù)的技巧,需要的朋友可以參考下2014-12-12
用Php編寫(xiě)注冊(cè)后Email激活驗(yàn)證的實(shí)例代碼
通過(guò)使用Email驗(yàn)證激活的方法,可以有效的幫你阻止惡意的Spam和注冊(cè)機(jī)器人的訪問(wèn)。 用php編寫(xiě)注冊(cè)后Email驗(yàn)證激活的步驟非常簡(jiǎn)單,相信幾分鐘之內(nèi)你就能學(xué)會(huì)。2013-03-03

