PHP 删除目录下的文件

以下是我在网上找到的一个源码。默认是在根目录的、我想要添加指定的几个目录,谁能帮忙修改下目录:/cache/目录2:/cache22/<?phpfunctiondel_d... 以下是我在网上找到的一个源码。
默认是在根目录的、
我想要添加指定的几个目录,谁能帮忙修改下
目录:/cache/
目录2:/cache22/

<?php
function del_dir($dir){ //删除目录
if(!($mydir=@dir($dir))){
return;
}
while($file=$mydir->read()){
if(is_dir("$dir$file") && $file!='.' && $file!='..'){
@chmod("$dir$file", 0777);
del_dir("$dir$file");
}elseif(is_file("$dir/$file")){
$file_time=@stat($file); //读取文件的最后更新时间
if(time()-$file_time>3600*24*14){
@chmod("$dir/$file", 0777);
@unlink("$dir/$file");
}
}
}
$mydir->close();
@chmod($dir, 0777);
@rmdir($dir);
}
?>
展开
 我来答
IT互联天下
推荐于2018-05-13 · 知道合伙人软件行家
IT互联天下
知道合伙人软件行家
采纳数:1437 获赞数:5161
PHP开发工程师

向TA提问 私信TA
展开全部

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文件
?>
百度网友a513422
推荐于2016-04-12 · 超过20用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:42.4万
展开全部
<?php
function del_dir($dir){ //删除目录
if($dir=='' || !count($dir)){
return;
}
if(is_array($dir)){
foreach($dir as $d){
@chmod($d, 0777);
del_dir($d);
}
}else{
if(!($mydir=@dir($dir))){
return;
}
while($file=$mydir->read()){
if(is_dir("$dir$file") && $file!='.' && $file!='..'){
@chmod("$dir$file", 0777);
del_dir("$dir$file");
}elseif(is_file("$dir/$file")){
$file_time=@stat($file); //读取文件的最后更新时间
if(time()-$file_time>3600*24*14){//只删除14天以前的文件
@chmod("$dir/$file", 0777);
@unlink("$dir/$file");
}
}
}
$mydir->close();
@chmod($dir, 0777);
@rmdir($dir);
}
}
//test 1:
$dir=$_SERVER['DOCUMENT_ROOT']."/cache/";
del_dir($dir);
$dir=$_SERVER['DOCUMENT_ROOT']."/cache22/";
del_dir($dir);
//test 2:
$dir[0]=$_SERVER['DOCUMENT_ROOT']."/cache/";
$dir[1]=$_SERVER['DOCUMENT_ROOT']."/cache22/";
del_dir($dir);
?>

不知道是不是这个意思,没咋明白你的要求
追问
我只想删除目录下的文件。。但保留目录!!!
你是整个文件夹都删除了!
追答
哎,小改一下不就完了??
read()){
if(is_dir("$dir$file") && $file!='.' && $file!='..'){
@chmod("$dir$file", 0777);
del_dir("$dir$file",1);
}elseif(is_file("$dir/$file")){
$file_time=@stat($file); //读取文件的最后更新时间
if(time()-$file_time>3600*24*14){//只删除14天以前的文件
@chmod("$dir/$file", 0777);
@unlink("$dir/$file");
}
}
}
$mydir->close();
@chmod($dir, 0777);
$levl && @rmdir($dir);
}
}
//test 1:
$dir=$_SERVER['DOCUMENT_ROOT']."/cache/";
del_dir($dir);
$dir=$_SERVER['DOCUMENT_ROOT']."/cache22/";
del_dir($dir);
//test 2:
$dir[0]=$_SERVER['DOCUMENT_ROOT']."/cache/";
$dir[1]=$_SERVER['DOCUMENT_ROOT']."/cache22/";
del_dir($dir);
?>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
858sbuz760
2011-08-27 · TA获得超过275个赞
知道小有建树答主
回答量:548
采纳率:0%
帮助的人:342万
展开全部
删除文件可以使用unlink,没有必要将目录转换成绝对路径,如果想删除images中的文件,可以直接unlink("/image/文件名")即可~!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
earyuoyt134
2011-08-26 · TA获得超过1091个赞
知道大有可为答主
回答量:1432
采纳率:0%
帮助的人:1271万
展开全部
<? del_dir(目录)?>可多次使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式