php定时删除文件夹下文件(清理缓存文件)
2015-01-24信息快讯网
有的时候网站缓存文件夹里生成的临时文件越来越多,而长时间不清理就会造成文件夹下有上万个缓存文件,可能会使ftp工具多无法进入其文件夹。使临时文件无法删除
那么有没有方法自动清理临时文件夹呢?以下代码就是一个简单定时清理文件夹下文件的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编写的SVN类
解析PHP中的unset究竟会不会释放内存
解析php中curl_multi的应用
php curl获取网页内容(IPV6下超时)的解决办法
实测在class的function中include的文件中非php的global全局环境
php的$_FILES的临时储存文件与回收机制实测过程
PHP 获取远程文件大小的3种解决方法
PHP 获取文件权限函数介绍
php打开文件fopen函数的使用说明
PHP删除数组中特定元素的两种方法
PHP删除HTMl标签的三种解决方法
PHP删除HTMl标签的实现代码
PHP遍历某个目录下的所有文件和子文件夹的实现代码
解析PHP函数array_flip()在重复数组元素删除中的作用
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
探讨PHP删除文件夹的三种方法
php遍历所有文件及文件夹的方法深入解析
PHP转换文件夹下所有文件编码的实现代码
php删除与复制文件夹及其文件夹下所有文件的实现代码
php删除文件夹及其文件夹下所有文件的函数代码
PHP关联数组的10个操作技巧
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
PHP中CURL方法curl_setopt()函数的参数分享
php牛逼的面试题分享
php图片加水印原理(超简单的实例代码)
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
php判断上传的Excel文件中是否有图片及PHPExcel库认识
PHP中设置时区,记录日志文件的实现代码
Fine Uploader文件上传组件应用介绍
PHP flock 文件锁详细介绍
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
php 操作数组(合并,拆分,追加,查找,删除等)
PHP删除数组中的特定元素的代码
php数组中删除元素的实现代码
php递归创建和删除文件夹的代码小结
php 删除一个数组中的某个值.兼容多维数组!
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
使用PHP遍历文件夹与子目录的函数代码
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用