php定时删除文件夹下文件(清理缓存文件)


Posted in PHP onJanuary 23, 2013

那么有没有方法自动清理临时文件夹呢?

以下代码就是一个简单定时清理文件夹下文件的php代码。
ps:这个代码如果不重启网站会一直执行下去,所以只用作于本地环境测试,请别在网站上测试。

<?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);

php删除文件夹及其文件夹下所有文件

<? 
function deldir($dir) { 
//先删除目录下的文件: 
$dh=opendir($dir); 
while ($file=readdir($dh)) { 
if($file!="." && $file!="..") { 
$fullpath=$dir."/".$file; 
if(!is_dir($fullpath)) { 
unlink($fullpath); 
} else { 
deldir($fullpath); 
} 
} 
} 
closedir($dh); 
//删除当前文件夹: 
if(rmdir($dir)) { 
return true; 
} else { 
return false; 
} 
} 
?>

实例:删除某个文件夹下的所有“.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{ 
unlink($fullpath); 
} 
} 
} 
closedir($dh); 
//删除目录文件夹 
if(rmdir($svndir)){ 
return true; 
}else{ 
return false; 
} 
} $dir=dirname(__FILE__); 
//echo $dir; 
delsvn($dir); 
?>
PHP 相关文章推荐
php面向对象全攻略 (四)构造方法与析构方法
Sep 30 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
Jul 03 PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 PHP
php上传文件问题汇总
Jan 30 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
PHP 表单提交及处理表单数据详解及实例
Dec 27 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
PHP实现上传图片到数据库并显示输出的方法
May 31 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
php和nginx交互实例讲解
Sep 24 PHP
简单的php购物车代码
Jun 05 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 PHP
PHP关联数组的10个操作技巧
Jan 21 #PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 #PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 #PHP
php牛逼的面试题分享
Jan 18 #PHP
APACHE的AcceptPathInfo指令使用介绍
Jan 18 #PHP
php图片加水印原理(超简单的实例代码)
Jan 18 #PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 #PHP
You might like
一些使用频率比较高的php函数
2008/10/03 PHP
php设计模式 Factory(工厂模式)
2011/06/26 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
vue中引入第三方字体文件的方法示例
2018/12/17 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
python 使用while循环输出*组成的菱形实例
2020/04/12 Python
python中什么是面向对象
2020/06/11 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
CSS3 分类菜单效果
2019/05/27 HTML / CSS
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
大型活动策划方案
2014/01/12 职场文书
音乐教育感言
2014/03/05 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
经理岗位职责范本
2015/04/15 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
六年级作文之自救
2019/12/19 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技