Php Cronjobs删除文件问题

Php Cronjobs删除文件问题,php,cron,delete-file,Php,Cron,Delete File,我有一个php文件,可以从服务器上删除一天以前的图像,并每小时更新一次数据库 $downloadDeleteQuery = mysql_query("SELECT * FROM images WHERE timeleft < 1") or die(mysql_error()); while($downloadDelete = mysql_fetch_array($downloadDeleteQuery)){ $name = $downloadDelete['name']; $myFil

我有一个php文件,可以从服务器上删除一天以前的图像,并每小时更新一次数据库

$downloadDeleteQuery = mysql_query("SELECT * FROM images WHERE timeleft < 1") or die(mysql_error());
while($downloadDelete = mysql_fetch_array($downloadDeleteQuery)){

$name = $downloadDelete['name'];

$myFile = "../watermarked/".$name;
$fh = fopen($myFile, 'w') or die("");
fclose($fh);
unlink($myFile);

}
这是从服务器上删除文件的代码。该文件作为cronjob运行,每小时编辑数据库一次,但它不会删除文件,但当您直接转到该文件时。。。等等,它按预期工作。这是权限错误还是其他原因


谢谢

cron运行的文件与http服务器运行的文件具有不同的权限

尝试添加完整路径,我以前也不得不处理这个问题。而不是$myFile=../watermarked/$name;试试$myFile=/home/user/path/to/watermarked/$name


这将允许系统看到它,因为cron是由系统执行的。它最初并不考虑已执行文件的位置。

使用哪个用户运行cron?以该用户身份登录,并尝试使用其权限运行脚本。还有,正如我告诉你的,最好使用完整的路径。谢谢你,我已经让它工作了。非常感谢你!只是一个快速的注释,它的工作方式有点像预期的,但它会将文件保留在那里,文件大小为0?尝试使用传递rm-f/file/path/和/name这将确保系统删除,而不仅仅是清空其内容。您也可以使用该函数删除文件。