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);
}
?> 展开
默认是在根目录的、
我想要添加指定的几个目录,谁能帮忙修改下
目录:/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);
}
?> 展开
4个回答
展开全部
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
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);
?>
不知道是不是这个意思,没咋明白你的要求
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);
?>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
删除文件可以使用unlink,没有必要将目录转换成绝对路径,如果想删除images中的文件,可以直接unlink("/image/文件名")即可~!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<? del_dir(目录)?>可多次使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询