有时候我们需要用PHP来删除文件和文件夹,PHP本来也都有函数可以实现,下面简单记录一下代码,方便以后信守拈来。先看一下代码
/**
* 删除目录及目录下所有文件或删除指定文件
* @param str $path 待删除目录路径
* @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)
* @return bool 返回删除状态
*/
function delDirAndFile($path, $delDir = FALSE) {
$handle = opendir($path);
if ($handle) {
while (false !== ( $item = readdir($handle) )) {
if ($item != \".\" && $item != \"..\")
is_dir(\"$path/$item\") ? delDirAndFile(\"$path/$item\", $delDir) : un (\"$path/$item\");
}
closedir($handle);
if ($delDir)
return rmdir($path);
}else {
if (file_exists($path)) {
return un ($path);
} else {
return FALSE;
}
}
}
在看一个函数:
<?php
$dir = \'你要删除的目录路径\'; //如下:
//$dir = $_SERVER[\'DOCUMENT_ROOT\'].\'/cache\';
rmdirs($dir);
//php删除指定目录下的的文件-用PHP怎么删除某目录下指定的一个文件?
function rmdirs($dir){
//error_reporting(0); 函数会返回一个状态,我用error_reporting(0)屏蔽掉输出
//rmdir函数会返回一个状态,我用@屏蔽掉输出
$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
un ($dir.\'/\'.$val);
}
}
}
?>
<##ads_in_article_manong##>
<?
function deldir($dir) {
//先删除目录下的文件:
$dh=opendir($dir);
while ($file=readdir($dh)) {
if($file!=\".\" && $file!=\"..\") {
$fullpath=$dir.\"/\".$file;
if(!is_dir($fullpath)) {
un ($fullpath);
} else {
deldir($fullpath);
}
}
}
closedir($dh);
//删除当前文件夹:
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
?>
un () 函数用于删除文件。若成功,则返回 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{
un ($fullpath);
}
}
}
closedir($dh);
//删除目录文件夹
if(rmdir($svndir)){
return true;
}else{
return false;
}
}
$dir=dirname(__FILE__);
//echo $dir;
delsvn($dir);
?> 继续阅读与本文标签相同的文章
上一篇 :
印度操作系统为何能成?
下一篇 :
Python标准库可能准备大清洗了!
-
互联网之光大会的黑科技,总有一款惊艳你!
2026-05-14栏目: 教程
-
微信宣布一项新举措,关系到每一个用户,网友一致力挺:干得漂亮!
2026-05-14栏目: 教程
-
微软建议企业客户卸载KB4520062累积更新
2026-05-14栏目: 教程
-
他让我国芯片研究停滞13年,还骗走11亿研发资金,现状如何?
2026-05-14栏目: 教程
-
健乐教学机器人可开展的教学实训内容
2026-05-14栏目: 教程
