php cron与文件名问题中的空白区域

时间:2011-08-23 11:38:26

标签: php cron

if(file_exists("news/Main News.xml"))在通过cron运行时返回FALSE,但在从浏览器运行时返回TRUE

是否因为文件名中有空格而发生,但浏览器运行时运行正常。

2 个答案:

答案 0 :(得分:2)

最有可能的原因是cron作业没有从正确的文件夹中运行。

您需要执行类似

的操作
    if(file_exists("/home/path/to/news/Main News.xml"))

(引号中的完整路径)

或做一个

    cd /home/path/to;php cron_file.php

答案 1 :(得分:1)

不是在cronjob中调用php,而是调用一个调用php文件的shell脚本。

然后您可以更改脚本运行的环境,无需更改cronjob,您可以更轻松地测试驱动cron命令(因为您可以调用shell脚本)。

然后,您可以在shell脚本中更改php脚本期望的目录,这将最有效地解决您的问题。