2015-01-12 44 views
1

为什么下面的代码:PHP:输出电流脚本名称

echo "Usage: " basename($_SERVER["SCRIPT_FILENAME"], '.php') "<arg2> <arg1>"; 

产生以下语法错误:

PHP Parse error: syntax error, unexpected 'basename' (T_STRING), expecting ',' or ';'

回答

9

你应该.运营商串联提供字符串作为1个参数echo

echo "Usage: " . basename($_SERVER["SCRIPT_FILENAME"], '.php') . "<arg2> <arg1>"; 

使用,提供尽可能多:

echo "Usage: ", basename($_SERVER["SCRIPT_FILENAME"], '.php'), "<arg2> <arg1>"; 
+0

是什么',' .php''。我可以放弃它吗? – MLSC

+1

@MortezaLSC:它不是必需的,但你可以用它来切断文件的后缀,例如,如果文件是'index.php',那么只返回'index'。 – potashin

0
echo __FILE__; //to get the current filename. 

所以,你的代码就变成了:

if($argc!=3){ 
    echo "Usage: ".__FILE__.".php <arg2> <arg1>"; 
    die; 
} 
+0

您可能想要查看basename()函数的第二个参数。 –

0

您还可以使用逗号,像这样:

if ($argc != 3) { 
    echo "Usage:", basename($_SERVER["SCRIPT_FILENAME"]), '.php', "<arg2> <arg1>"; 
    die; 
}