本文目录一览:
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');
?