>  기사  >  백엔드 개발  >  PHP에서 정기적으로 파일을 삭제하는 방법은 무엇입니까?

PHP에서 정기적으로 파일을 삭제하는 방법은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-07-10 09:35:183093검색

PHP에서 정기적으로 파일을 삭제하는 방법: 먼저 [flag.txt] 파일을 만들고 그 안에 1 또는 0을 입력합니다. 그런 다음 [1]은 실행을 계속한다는 뜻입니다. 마지막으로 코드는 [$flag = 1;]입니다. 클라이언트 연결이 끊어지면 스크립트가 백그라운드에서 계속 실행되도록 허용할 수 있습니다. 코드는 [ignore_user_abort();]입니다.

PHP에서 정기적으로 파일을 삭제하는 방법은 무엇입니까?

PHP에서 정기적으로 파일을 삭제하는 방법:

다음 코드는 폴더의 파일을 정기적으로 정리하는 간단한 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;
}
}
?>

관련 학습 권장 사항:PHP 프로그래밍 항목 마스터하다

위 내용은 PHP에서 정기적으로 파일을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.