我想獲取正在運行的腳本的文件名(但不包括它正在調用)。PHP魔術常量
echo basename(__FILE__); # will always output include.php
echo basename($_SERVER['SCRIPT_FILENAME']);
# This will do what I want (echo myscript.php), but I was wondering if there was
# a better way to grab it, as I have had problems with $_SERVER['SCRIPT_FILENAME']
# when running certain scripts from a cron.
有什麼建議嗎?
<?
#myscript.php
require('include.php');
echo "Hello all";
?>
<?
#include.php
echo basename(__FILE__);
echo basename($_SERVER['SCRIPT_FILENAME']);
?>
謝謝!
只是爲了讓你知道,由於某種原因,我使用$ _SERVER ['SCRIPT_FILENAME']和可能$ _SERVER ['SCRIPT_NAME']的舊服務器在通過cron運行時沒有返回任何內容。但是,我想通過SCRIPT_FILENAME使用SCRIPT_NAME。所以謝謝 – Lizard 2009-09-29 09:29:06
$ _SERVER [「argv」] [0]可能有你想要的。 – Neel 2009-09-29 09:30:22
argv [0]是腳本名稱,因爲它由cmd行調用,所以包含的路徑是絕對路徑,相對路徑(path/name.php,./path/name.php等),具體取決於您調用腳本的__how__ 。此外,它可能是未定義,當不在氣候環境 – drAlberT 2009-09-29 10:04:37