溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中unlink與rmdir刪除目錄及目錄下所有文件的示例分析

發(fā)布時間:2021-07-22 11:21:30 來源:億速云 閱讀:158 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了PHP中unlink與rmdir刪除目錄及目錄下所有文件的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在php中刪除文件與目錄其實很簡單只要兩個函數(shù)一個是unlink一個rmdir函數(shù),如果要實現(xiàn)刪除目錄及目錄下的文件我們需要利用遞歸來操作.

函數(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 {//開源代碼phpfensi.com 
if( unlink( “$dirName/$item” ) )echo “成功刪除文件: $dirName/$item<br />n”; 
} 
} 
} 
closedir( $handle ); 
} 
} 
}

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

<?php delFileUnderDir( ‘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刪除目錄及目錄下所有文件,代碼如下:

<?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”; 
} 
} 
//假設需要刪除一個名叫”upload”的同級目錄即此目錄下的所有文件,你可以通過以下代碼完成: 
delDirAndFile( ‘upload'); 
?>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP中unlink與rmdir刪除目錄及目錄下所有文件的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI