本文目錄一覽:
- 1、php刪除一個路徑下的所有文件夾和文件的方法
- 2、php怎麼刪除文件夾和文件夾下的所有文件
- 3、PHP 刪除目錄下的文件
- 4、PHP unlink與rmdir刪除目錄及目錄下所有文件實例代碼
- 5、用PHP如何刪除指定的文件?
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怎麼刪除文件夾和文件夾下的所有文件
正常的思路來說,先循環刪除文件夾下的所有文件,當沒有文件時再刪除文件夾,如果你要刪除文件夾和所有文件直接本地刪除就好了,但是一般沒有這種操作。刪除文件可以用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);
}
}
具體的還要你自己稍加修改,希望可以幫到你。
PHP 刪除目錄下的文件
PHP刪除指定目錄下的文件示例:
?php
//定義刪除文件函數
function deleteFile($dirName) {
// 判斷是否為有效句柄
if ($handle = opendir( $dirName )) {
// 循環打開的句柄條目(打開成功,則返迴文件名;打開失敗,則返回false)
while ( false !== ($item = readdir ($handle))) {
if ($item != “.” $item != “..”) {
// 判斷是否為目錄
if (is_dir($dirName . “/” . $item )) {
// 遞歸刪除
deleteFile($dirName . “/” . $item);
} else {
if (unlink($dirName . “/” . $item)) {
echo “成功刪除{$dirName}文件夾下的{$item}文件br/”;
}
}
}
}
// 關閉打開的句柄
closedir( $handle );
}
}
//測試【testFile目錄下有NewFile.html】
deleteFile(“testFile”);
//成功刪除testFile文件夾下的NewFile.html文件
?
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/$itembr
/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($i2){return
false;}
else
return
true;
}
PHP刪除目錄及目錄下所有文件,代碼如下:
?php
//循環刪除目錄和文件函數
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/$itembr
/n”;
}
}
}
closedir(
$handle
);
if(
rmdir(
$dirName
)
)echo
“成功刪除目錄:
$dirNamebr
/n”;
}
}
//假設需要刪除一個名叫”upload”的同級目錄即此目錄下的所有文件,你可以通過以下代碼完成:
delDirAndFile(
‘upload’);
?
總結
以上所述是小編給大家介紹的PHP
unlink與rmdir刪除目錄及目錄下所有文件實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
用PHP如何刪除指定的文件?
php中刪除文件有一個系統函數:\x0d\x0aunlink ( string $filename );\x0d\x0a參數$filename 表示文件的路徑,可以是相對路徑也可以是絕對路徑。\x0d\x0a列如,當前目錄下有個文件:test.html\x0d\x0a可以執行 unlink ( ‘test.html’ );來刪除\x0d\x0a另外刪除目錄用函數:rmdir();用法與unlink ()相同
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196962.html