获取当前脚本文件名

新手上路,请多包涵

如果我有 PHP 脚本,我怎样才能得到当前执行的文件的文件名而不带它的扩展名?

给定“jquery.js.php”形式的脚本名称,如何仅提取“jquery.js”部分?

原文由 Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 428
2 个回答

只需使用 PHP 魔术常量 __FILE__ 来获取当前文件名。

但是您似乎想要没有 .php 的部分。所以…

 basename(__FILE__, '.php');

一个更通用的文件扩展删除器看起来像这样……

 function chopExtension($filename) {
    return pathinfo($filename, PATHINFO_FILENAME);
}

var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"

如您所料,使用标准字符串库函数 要快得多

 function chopExtension($filename) {
    return substr($filename, 0, strrpos($filename, '.'));
}

原文由 alex 发布,翻译遵循 CC BY-SA 3.0 许可协议

例子:

包含文件: config.php

 <?php
  $file_name_one = basename($_SERVER['SCRIPT_FILENAME'], '.php');
  $file_name_two = basename(__FILE__, '.php');
?>

执行文件: index.php

 <?php
  require('config.php');
  print $file_name_one."<br>\n"; // Result: index
  print $file_name_two."<br>\n"; // Result: config
?>

原文由 Eugen 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题