本文目錄一覽:
PHP刪除指定目錄中的所有目錄及文件的方法
本文實例講述了PHP刪除指定目錄中的所有目錄及文件的方法。分享給大家供大家參考。具體實現方法如下:
?php
/*
*
*
刪除指定目錄中的所有目錄及文件(或者指定文件)
*
可擴展增加一些選項(如是否刪除原目錄等)
*
刪除文件敏感操作謹慎使用
*
@param
$dir
目錄路徑
*
@param
array
$file_type指定文件類型
*/
function
delFile($dir,$file_type=”)
{
if(is_dir($dir)){
$files
=
scandir($dir);
//打開目錄
//列出目錄中的所有文件並去掉
.
和
..
foreach($files
as
$filename){
if($filename!=’.’
$filename!=’..’){
if(!is_dir($dir.’/’.$filename)){
if(empty($file_type)){
unlink($dir.’/’.$filename);
}else{
if(is_array($file_type)){
//正則匹配指定文件
if(preg_match($file_type[0],$filename)){
unlink($dir.’/’.$filename);
}
}else{
//指定包含某些字符串的文件
if(false!=stristr($filename,$file_type)){
unlink($dir.’/’.$filename);
}
}
}
}else{
delFile($dir.’/’.$filename);
rmdir($dir.’/’.$filename);
}
}
}
}else{
if(file_exists($dir))
unlink($dir);
}
}
delFile(dirname(__FILE__),’html’);
希望本文所述對大家的php程序設計有所幫助。
PHP怎麼刪除某目錄下指定的一個文件?
php中刪除文件有一個系統函數:
unlink ( string $filename );
參數$filename 表示文件的路徑,可以是相對路徑也可以是絕對路徑。
列如,當前目錄下有個文件:test.html
可以執行 unlink ( ‘test.html’ );來刪除
另外刪除目錄用函數:rmdir();用法與unlink ()相同
php中怎麼刪除指定目錄下的文件夾
示例代碼如下:
?php
$dir = ‘你要刪除的目錄路徑’; //如下:
//$dir = $_SERVER[‘DOCUMENT_ROOT’].’/cache’;
rmdirs($dir);
//php刪除指定目錄下的的文件-用PHP怎麼刪除某目錄下指定的一個文件?
function rmdirs($dir){
$dir_arr = scandir($dir);
foreach($dir_arr as $key=$val){
if($val == ‘.’ || $val == ‘..’){}
else {
if(is_dir($dir.’/’.$val))
{
if(@rmdir($dir.’/’.$val) == ‘true’){}
else
rmdirs($dir.’/’.$val);
}
else
unlink($dir.’/’.$val);
}
}
}
?
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/$item
\n”;
}
}
}
closedir(
$handle
);
if(
rmdir(
$dirName
)
)echo
“成功刪除目錄:
$dirName
\n”;
}
}
?
函數代碼二:僅刪除指定目錄下的文件,不刪除目錄文件夾。
複製代碼
代碼如下:
//循環目錄下的所有文件
function
delFileUnderDir(
$dirName
)
{
if
(
$handle
=
opendir(
“$dirName”
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
“.”
$item
!=
“..”
)
{
if
(
is_dir(
“$dirName/$item”
)
)
{
delFileUnderDir(
“$dirName/$item”
);
}
else
{
if(
unlink(
“$dirName/$item”
)
)echo
“成功刪除文件:
$dirName/$item
\n”;
}
}
}
closedir(
$handle
);
}
}
?
使用方法示例:
假設需要刪除一個名叫”upload”的同級目錄即此目錄下的所有文件,你可以通過以下代碼完成:
複製代碼
代碼如下:
delDirAndFile(
‘upload’);
?
假設需要刪除一個名叫”upload”目錄下的所有文件(但無需刪除目錄文件夾),你可以通過以下代碼完成:
delFileUnderDir(
‘upload’);
?
原創文章,作者:TZNE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/133021.html