(PHP)如何在脚本作为cron作业执行时获取文件名(或文件路径)?

时间:2011-09-07 19:47:56

标签: php cron

我有一个PHP脚本,通过浏览器调用时可以很好地执行。但是,当它被称为cron作业时,它失败了。失败是因为脚本需要访问自己的文件名,我通过$thefilepath = $_SERVER['REQUEST_URI']来完成。不幸的是,当文件作为cron作业调用时,不会填充$_SERVER['REQUEST_URI']变量。 (我尝试$_SERVER['PHP_SELF'])同样失败了。

如果有人感兴趣,脚本需要访问自己的文件名,因为文件名包含一个整数(例如,filename = myfile4.php),用于计算数据库表中的行子集。更具体地说,myfile4.php获取带有ID的行,例如40-49,而myfile5.php获取ID为50-59等的行。

所以,我的问题是,鉴于$_SERVER['REQUEST_URI']$_SERVER['PHP_SELF']无法提供用于cron作业的文件名(或文件路径),任何人都可以建议另一种访问脚本的方法这个cron执行上下文中的文件名?

谢谢!

2 个答案:

答案 0 :(得分:5)

使用__FILE____DIR__dirname(__FILE__) http://www.php.net/manual/en/language.constants.predefined.php

答案 1 :(得分:0)

$argv[0]将始终包含脚本的名称:http://www.php.net/manual/en/reserved.variables.argv.php