如何定时在php中删除文件
本篇文章给大家分享的是有关如何定时在php中删除文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
php定时删除文件的方法:首先新建一个【flag.txt】文件,在里面输入1或者0;然后【1】表示继续执行,代码为【$flag = 1;】;最后客户端断开时,可以让脚本继续在后台执行,代码为【ignore_user_abort();】。
php定时删除文件的方法:
以下代码就是一个简单定时清理文件夹下文件的php代码。
ps:这个代码如果不重启网站会一直执行下去,所以只用作于本地环境测试,请别在网站上测试。
代码如下:
<?phpignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行set_time_limit(0); //忽略php.ini设置的脚本运行时间限制$interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300do{$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=300do{$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”文件夹(包括其内容也要被删除).
代码如下:
<?phpfunction 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中删除文件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。