[英]Delete all files of a folder after every 24 hours in PHP
我搜索了一些相關問題,但無法理解。
我想每隔24小時刪除一次文件夾中的所有文件,但有時會收到警告,並且有時它可以工作。 文件夾路徑為c:\\wamp\\www\\Jamil
。
來源:
<?php
$dir = "Jamil"; // directory name
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..')
continue;
if((time() - filemtime($item)) >= 30 && is_file($item)){
unlink($dir.DIRECTORY_SEPARATOR.$item);
echo "All files deleted";}
}
//rmdir($dir);
?>
我從各個站點復制了代碼。 有人可以幫忙嗎? 我收到此警告:
警告:filemtime()[function.filemtime]:第10行的C:\\ wamp \\ www \\ delete1.php中jamil.html的統計信息失敗
如果為此使用php腳本,則仍需要以某種方式安排它的運行。 因此,您可以使用cron或計划的任務來計划刪除本身。 這是crontab的良好參考。 如果您使用Windows,請為自己編寫一個小的批處理腳本,請轉到“控制面板”,您會看到一個漂亮的小向導,它可以指導您進行任務計划。
PHP確實不是用於計划任務的工具。 如果您的用戶需要在需要時執行刪除操作(而不是計划任務),則可以這樣做。
試試這個功能;
function wipedir($dir) {
try{
if(is_dir($dir)){
$mydir = opendir($dir);
while(false !== ($file = readdir($mydir))) {
if($file != "." && $file != "..") {
chmod($dir.$file, 0777);
if(is_dir($dir.$file)) {
chdir('.');
destroy($dir.$file.'/');
rmdir($dir.$file) or DIE("Unable to delete $dir$file");
}else{
unlink($dir.$file) or DIE("Unable to delete $dir$file");
}
}
}
closedir($mydir);
return true;
}else{return true;}
}catch (Exception $e){return false;}
}
所以用法是
$dir = 'Jamil';
wipedir($dir);
這應該以指定的間隔放置在crontab等運行的文件中。
is_file($item)
嘗試
if(is_dir($dir.DIRECTORY_SEPARATOR.$item) && $item != ".." && $item != ".")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.