一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 9505|回复: 1
打印 上一主题 下一主题

如何使用php代码来删除文件夹和清理缓存实例详解?

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-3-24 14:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先来看看删除代码:

<?php 
header('content-type:text/html;charset=utf-8'); 
function delFile($fpath) { 
$filesize = array(); 
$filepath = iconv('gb2312', 'utf-8', $fpath); 
if (is_dir($fpath)) { 
if ($dh = opendir($fpath)) { 
while (($file = readdir($dh)) !== false) { 
if($file != '.' && $file != '..') { 
$filesize[] = delFile($fpath.'/'.$file); 
} 
} 
closedir($dh); 
} 
/* 
* 方便统计目录数 
*/ 
$filesize['file'] = 0; 
if(@rmdir($fpath) === true) { 
echo "{$filepath}................删除成功<br>
"; 
} else { 
echo "{$filepath}................删除失败<br>
"; 
} 
} else { 
if(is_file($fpath)) { 
$filesize[] = $fsize = filesize($fpath); 
if(@unlink($fpath) === true) { 
echo "{$filepath}...{$fsize}K................删除成功<br>
"; 
} else { 
echo "{$filepath}...{$fsize}K................删除失败<br>
"; 
} 
} 
} 
return $filesize; 
} 
/* 
* function getArrSum(array &$arr) 数组求和 
* array &$arr 被处理数组 
*/ 
function getArrSum(&$arr) { 
if(is_array($arr)) { 
foreach ($arr as &$value) { 
$value = getArrSum($value); 
} 
return array_sum($arr); 
} else { 
return $arr; 
} 
} 
$fpath = 'D:/test'; 
$filesize = delFile($fpath); 
$size = getArrSum($filesize); 
printf('为您节省:%.3fM 空间', $size/(1024*1024)); 
?>

一个简单定时清理文件夹下文件的php测试代码:

<?php 
ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行 
set_time_limit(0); //忽略php.ini设置的脚本运行时间限制 
$interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300 
do{ 
$dir = "temp/"; //你的临时目录位置 
$handle=opendir("{$dir}/"); 
while (false !== ($file=readdir($handle))) { 
if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) { 
@unlink ("{$dir}/{$file}"); 
} 
} 
closedir($handle); //关闭由 opendir() 函数打开的目录 
sleep($interval); //执行一个周期后,休眠$interval时间,休眠结束后脚本继续执行 
}while(true); //周期性执行脚本

建一个flag.txt文件,在里面输入1或者0,“0”表示停止执行,“1”表示继续执行。这样的话就可以开始和停止了。

<?php 
$flag = 1; //将执行标志设置为1,默认为执行 
ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行 
set_time_limit(0); //忽略php.ini设置的脚本运行时间限制 
$interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300 
do{ 
$flagfile = "flag.txt"; //标志放置在文件“flag.txt”中。“0”表示停止执行,“1”表示继续执行 
if(file_exists($flagfile) && is_readable($flagfile)) { //读取文件内容 
$fh = fopen($flagfile,"r"); 
while (!feof($fh)) { 
$flag = fgets($fh); //存储标志 
} 
fclose($fh); 
} 
$dir = "temp/"; //你的临时目录位置 
$handle=opendir("{$dir}/"); 
while (false !== ($file=readdir($handle))) { 
if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) { 
@unlink ("{$dir}/{$file}"); 
} 
} 
closedir($handle); //关闭由 opendir() 函数打开的目录 
sleep($interval); //执行一个周期后,休眠$interval时间,休眠结束后脚本继续执行 
}while($flag);

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

24

帖子

160

积分

注册会员

Rank: 2

积分
160
沙发
发表于 2022-9-11 16:45 来自手机 | 只看该作者
app商城源代码
回复

使用道具 举报

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表