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()这两个函数的使用