本文目錄一覽:
php刪除一個路徑下的所有文件夾和文件的方法
php遍歷一個文件夾內的所有文件和文件夾,並刪除所有文件夾和子文件夾下的所有文件的代碼,通過遞歸方式實現達到清空一個目錄的效果,代碼簡單實用。
也適合在thinkphp中清理緩存,在thinkphp中可以把下面代碼寫入./Application/Admin/Common/function.php文件中,再在控制器調用這個函數進行清理操作。
用到的函數:
scandir($path)
遍歷一個文件夾所有文件並返回數組。
unlink($filename)
刪除文件。
rmdir($path)
只刪除空文件夾
?php
//設置需要刪除的文件夾
$path
=
“./Application/Runtime/”;
//清空文件夾函數和清空文件夾後刪除空文件夾函數的處理
function
deldir($path){
//如果是目錄則繼續
if(is_dir($path)){
//掃描一個文件夾內的所有文件夾和文件並返回數組
$p
=
scandir($path);
foreach($p
as
$val){
//排除目錄中的.和..
if($val
!=”.”
$val
!=”..”){
//如果是目錄則遞歸子目錄,繼續操作
if(is_dir($path.$val)){
//子目錄中操作刪除文件夾和文件
deldir($path.$val.’/’);
//目錄清空後刪除空文件夾
@rmdir($path.$val.’/’);
}else{
//如果是文件直接刪除
unlink($path.$val);
}
}
}
}
}
//調用函數,傳入路徑
deldir($path);
總結
以上所述是小編給大家介紹的php刪除一個路徑下的所有文件夾和文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
您可能感興趣的文章:PHP循環輸出指定目錄下的所有文件和文件夾路徑例子(簡單實用)php獲取文件夾路徑內的圖片以及分頁顯示示例PHP獲取文件相對路徑的方法查找php配置文件php.ini所在路徑的二種方法
php如何刪除目錄下的文件和文件夾
function delDirAndFile( $dirName ) //定義函數名{if ( $handle = opendir( “$dirName” ) ) { //打開文件夾
rmdir( “$dirName/$item” );} else {if( unlink( “$dirName/$item” ) )echo “成功刪除文件: $dirName/$item\n”;}}}closedir( $handle );
if( rmdir( $dirName ) )echo “成功刪除目錄: $dirName\n”;}}//下面是使用此函數刪除PHP目錄下的所有文件和文件夾,包含php文件夾的
php刪除文件夾操作函數和幾種方式實例代碼匯總
先看一下代碼
複製代碼 代碼如下:
?
function deldir($dir) {
//先刪除目錄下的文件:
$dh=opendir($dir);
while ($file=readdir($dh)) {
if($file!=”.” $file!=”..”) {
$fullpath=$dir.”/”.$file;
if(!is_dir($fullpath)) {
unlink($fullpath);
} else {
deldir($fullpath);
}
}
}
closedir($dh);
//刪除當前文件夾:
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
?
unlink() 函數用於刪除文件。若成功,則返回 true,失敗則返回 false。rmdir() 函數用於刪除空的目錄。它嘗試刪除 dir 所指定的目錄。 該目錄必須是空的,而且要有相應的權限。
一個實例:刪除某個文件夾下的所有”.svn”文件夾(包括其內容也要被刪除)。
複製代碼 代碼如下:
?php
function delsvn($dir) {
$dh=opendir($dir);
//找出所有”.svn” 的文件夾:
while ($file=readdir($dh)) {
if($file!=”.” $file!=”..”) {
$fullpath=$dir.”/”.$file;
if(is_dir($fullpath)) {
if($file==”.svn”){
delsvndir($fullpath);
}else{
delsvn($fullpath);
}
}
}
}
closedir($dh);
}
function delsvndir($svndir){
//先刪除目錄下的文件:
$dh=opendir($svndir);
while($file=readdir($dh)){
if($file!=”.”$file!=”..”){
$fullpath=$svndir.”/”.$file;
if(is_dir($fullpath)){
delsvndir($fullpath);
}else{
unlink($fullpath);
}
}
}
closedir($dh);
//刪除目錄文件夾
if(rmdir($svndir)){
return true;
}else{
return false;
}
}
$dir=dirname(__FILE__);
//echo $dir;
delsvn($dir);
?
php怎麼刪除文件夾和文件夾下的所有文件
正常的思路來說,先循環刪除文件夾下的所有文件,當沒有文件時再刪除文件夾,如果你要刪除文件夾和所有文件直接本地刪除就好了,但是一般沒有這種操作。刪除文件可以用unlink($filepath)函數,$filepath是文件路徑,然後還有一個封裝函數rm_empty_dir($path)刪除所有空目錄:
/** 刪除所有空目錄
* @param String $path 目錄路徑
*/
function rm_empty_dir($path){
if(is_dir($path) ($handle = opendir($path))!==false){
while(($file=readdir($handle))!==false){// 遍歷文件夾
if($file!=’.’ $file!=’..’){
$curfile = $path.’/’.$file;// 當前目錄
if(is_dir($curfile)){// 目錄
rm_empty_dir($curfile);// 如果是目錄則繼續遍歷
if(count(scandir($curfile))==2){//目錄為空,=2是因為.和..存在
rmdir($curfile);// 刪除空目錄
}
}
}
}
closedir($handle);
}
}
具體的還要你自己稍加修改,希望可以幫到你。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/181872.html