Lod*_*der -1 php cron joomla cron-task
我想Ø删除所有zip与rar文件从一个特定的目录.我已经设置了cron来运行一个名为的PHP文件cron.php,该文件位于Joomla模块目录中.出于测试目的,我将cron作业时间设置为5分钟.
我还在一个名为的目录中放了一个zip文件 test.zip
命令:
php /home/MYUSER/public_html/MYSITE/modules/mod_module_gen/cron.php
PHP:注意:"MYSITE"是网站所在的子域
<?php
$dir = "/home/MYUSER/public_html/MYSITE/modules/mod_module_gen/package";
$files = scandir($dir);
foreach ($files as $file) {                   
   if(preg_match("/\.(zip|rar)$/", $file)){
        unlink($file);
   }                    
} 
?>
但是,每隔5分钟,错误日志会继续抛出以下错误:
PHP Warning:  unlink(test.zip) [<a href='function.unlink'>function.unlink</a>]: No such file or directory in /home/MYUSER/public_html/MYSITE/modules/mod_module_gen/cron.php on line 18
不知道为什么这个错误发生的文件确实存在.有任何想法吗?
我认为问题是当前目录被视为运行 PHP脚本的位置.
所以文件在:
/home/MYUSER/public_html/MYSITE/modules/mod_module_gen/package
但$file删除的命令(一旦解决)是:
unlink('test.zip');
当文件从其他地方运行时(比如说~):
PHP正试图取消链接 ~/test.zip
考虑做
unlink($dir.'/'.$file)