如果我有PHP脚本,我怎么能得到当前执行的文件没有其扩展名的文件名?
给定一个“jquery.js.php”形式的脚本的名称,我如何提取只是“jquery.js”部分?
如果我有PHP脚本,我怎么能得到当前执行的文件没有其扩展名的文件名?
给定一个“jquery.js.php”形式的脚本的名称,我如何提取只是“jquery.js”部分?
当前回答
正如一些人所说,basename($_SERVER["SCRIPT_FILENAME"], '.php')和basename(__FILE__, '.php')是很好的测试方法。
对我来说,使用第二种方法是我所做的一些验证说明的解决方案
其他回答
试试这个
$current_file_name = $_SERVER['PHP_SELF'];
echo $current_file_name;
以下是我最近在寻找答案时发现的一个列表:
//self name with file extension
echo basename(__FILE__) . '<br>';
//self name without file extension
echo basename(__FILE__, '.php') . '<br>';
//self full url with file extension
echo __FILE__ . '<br>';
//parent file parent folder name
echo basename($_SERVER["REQUEST_URI"]) . '<br>';
//parent file parent folder name with //s
echo $_SERVER["REQUEST_URI"] . '<br>';
// parent file name without file extension
echo basename($_SERVER['PHP_SELF'], ".php") . '<br>';
// parent file name with file extension
echo basename($_SERVER['PHP_SELF']) . '<br>';
// parent file relative url with file etension
echo $_SERVER['PHP_SELF'] . '<br>';
// parent file name without file extension
echo basename($_SERVER["SCRIPT_FILENAME"], '.php') . '<br>';
// parent file name with file extension
echo basename($_SERVER["SCRIPT_FILENAME"]) . '<br>';
// parent file full url with file extension
echo $_SERVER["SCRIPT_FILENAME"] . '<br>';
//self name without file extension
echo pathinfo(__FILE__, PATHINFO_FILENAME) . '<br>';
//self file extension
echo pathinfo(__FILE__, PATHINFO_EXTENSION) . '<br>';
// parent file name with file extension
echo basename($_SERVER['SCRIPT_NAME']);
别忘了删除:)
< br >
虽然__FILE__和$_SERVER是最好的方法,但在某些情况下,这也是一种替代方法:
get_included_files();
它包含调用它的文件路径和所有其他包含。
这可能会有帮助:
basename($_SERVER['PHP_SELF'])
即使使用include,它也能工作。
更通用的方法是使用pathinfo()。从5.2版本开始,它支持PATHINFO_FILENAME。
So
pathinfo(__FILE__,PATHINFO_FILENAME)
也会做你需要的事。