如何定時(shí)在php中刪除文件

本篇文章給大家分享的是有關(guān)如何定時(shí)在php中刪除文件,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)平安免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

php定時(shí)刪除文件的方法:首先新建一個(gè)【flag.txt】文件,在里面輸入1或者0;然后【1】表示繼續(xù)執(zhí)行,代碼為【$flag = 1;】;最后客戶端斷開(kāi)時(shí),可以讓腳本繼續(xù)在后臺(tái)執(zhí)行,代碼為【ignore_user_abort();】。

php定時(shí)刪除文件的方法:

以下代碼就是一個(gè)簡(jiǎn)單定時(shí)清理文件夾下文件的php代碼。

ps:這個(gè)代碼如果不重啟網(wǎng)站會(huì)一直執(zhí)行下去,所以只用作于本地環(huán)境測(cè)試,請(qǐng)別在網(wǎng)站上測(cè)試。

代碼如下:

<?php
ignore_user_abort(); //客戶端斷開(kāi)時(shí),可以讓腳本繼續(xù)在后臺(tái)執(zhí)行
set_time_limit(0); //忽略php.ini設(shè)置的腳本運(yùn)行時(shí)間限制
$interval = 5*60; //設(shè)置執(zhí)行周期,單位為秒,5分鐘為 5*60=300
do{
$dir = "temp/"; //你的臨時(shí)目錄位置
$handle=opendir("{$dir}/");
while (false !== ($file=readdir($handle))) {
if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) {
@unlink ("{$dir}/{$file}");
}
}
closedir($handle); //關(guān)閉由 opendir() 函數(shù)打開(kāi)的目錄
sleep($interval); //執(zhí)行一個(gè)周期后,休眠$interval時(shí)間,休眠結(jié)束后腳本繼續(xù)執(zhí)行
}while(true); //周期性執(zhí)行腳本

根據(jù)網(wǎng)上的一個(gè)思路來(lái)的,建一個(gè)flag.txt文件,在里面輸入1或者0,“0”表示停止執(zhí)行,“1”表示繼續(xù)執(zhí)行。這樣的話就可以開(kāi)始和停止了。

代碼如下:

<?php
$flag = 1; //將執(zhí)行標(biāo)志設(shè)置為1,默認(rèn)為執(zhí)行
ignore_user_abort(); //客戶端斷開(kāi)時(shí),可以讓腳本繼續(xù)在后臺(tái)執(zhí)行
set_time_limit(0); //忽略php.ini設(shè)置的腳本運(yùn)行時(shí)間限制
$interval = 5*60; //設(shè)置執(zhí)行周期,單位為秒,5分鐘為 5*60=300
do{
$flagfile = "flag.txt"; //標(biāo)志放置在文件“flag.txt”中。“0”表示停止執(zhí)行,“1”表示繼續(xù)執(zhí)行
if(file_exists($flagfile) && is_readable($flagfile)) { //讀取文件內(nèi)容
$fh = fopen($flagfile,"r");
while (!feof($fh)) {
$flag = fgets($fh); //存儲(chǔ)標(biāo)志
}
fclose($fh);
}
$dir = "temp/"; //你的臨時(shí)目錄位置
$handle=opendir("{$dir}/");
while (false !== ($file=readdir($handle))) {
if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) {
@unlink ("{$dir}/{$file}");
}
}
closedir($handle); //關(guān)閉由 opendir() 函數(shù)打開(kāi)的目錄
sleep($interval); //執(zhí)行一個(gè)周期后,休眠$interval時(shí)間,休眠結(jié)束后腳本繼續(xù)執(zhí)行
}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);
//刪除當(dāng)前文件夾:
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
?>

實(shí)例:刪除某個(gè)文件夾下的所有“.svn”文件夾(包括其內(nèi)容也要被刪除).

代碼如下:

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

以上就是如何定時(shí)在php中刪除文件,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:如何定時(shí)在php中刪除文件
分享路徑:http://muchs.cn/article30/joggpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google移動(dòng)網(wǎng)站建設(shè)、電子商務(wù)面包屑導(dǎo)航、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)