首頁  >  文章  >  後端開發  >  PHP的unlink與rmdir刪除目錄及目錄下所有檔案方法

PHP的unlink與rmdir刪除目錄及目錄下所有檔案方法

小云云
小云云原創
2018-05-24 11:32:3719765瀏覽

在php中刪除檔案與目錄其實很簡單只要兩個函數一個是unlink一個rmdir函數,如果要實現刪除目錄及目錄下的檔案我們需要利用遞歸來操作.本文主要和大家介紹了PHP unlink與rmdir刪除目錄及目錄下所有檔案的實例代碼,需要的朋友可以參考下,希望能幫助大家。

函數程式碼:只刪除指定目錄下的檔案,不刪除目錄資料夾,程式碼如下:

class shanchu { 
//循环目录下的所有文件 
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 {//开源代码phpfensi.com 
if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item
n”; } } } closedir( $handle ); } } }

假設需要刪除一個名叫"upload”目錄下的所有文件,但無需刪除目錄資料夾,你可以透過以下程式碼完成:

php刪除所有目錄,程式碼如下:

function deltree($pathdir) 
{ 
echo $pathdir;//调试时用的 
if(is_empty_dir($pathdir))//如果是空的 
{ 
rmdir($pathdir);//直接删除 
} 
else 
{//否则读这个目录,除了.和..外 
$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))//是否为空 
{//如果不是,调用自身,不过是原来的路径+他下级的目录名 
deltree($pathdir.'/'.$a); 
} 
if(is_empty_dir($pathdir.'/'.$a)) 
{//如果是空就直接删除 
rmdir($pathdir.'/'.$a); 
} 
} 
} 
$d->close(); 
echo "必须先删除目录下的所有文件";//我调试时用的 
} 
} 
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刪除目錄及目錄下所有檔案,程式碼如下:

n”; 
} 
} 
} 
closedir( $handle ); 
if( rmdir( $dirName ) )echo “成功删除目录: $dirName
n”; } } //假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成: delDirAndFile( ‘upload'); ?>

相關建議:

PHP 刪除檔案與資料夾運算 unlink()與rmdir()這兩個函數的使用

# PHP unlink() 函數

php中unlink()、mkdir()、rmdir()等的用法介紹

#

以上是PHP的unlink與rmdir刪除目錄及目錄下所有檔案方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn