如何通过auto_append_file配置的PHP文件获取主PHP文件名?
解决auto_append_file脚本获取主脚本文件名的问题
嘿,这个场景我之前刚好折腾过,其实不用绕弯子,直接利用PHP的超全局变量就能搞定!
当auto_append_file指定的脚本(比如你的tail.php)被自动追加执行时,它是运行在主脚本(xxx.php)的上下文环境中的,所以主脚本的相关信息会保留在$_SERVER超全局数组里。
你可以在tail.php里用这几个变量来获取:
$_SERVER['SCRIPT_FILENAME']:获取主脚本的绝对路径(比如/var/www/xxx.php)$_SERVER['PHP_SELF']:获取主脚本相对于网站根目录的路径(CLI模式下和SCRIPT_FILENAME一致)- 如果只想要纯文件名(不带路径),可以配合
basename()函数使用
举个实际的例子,把你的tail.php改成这样:
<?php // 获取主脚本的完整绝对路径 $fullPath = $_SERVER['SCRIPT_FILENAME']; // 提取纯文件名 $mainFileName = basename($fullPath); echo "当前主脚本是:$mainFileName\n"; echo "主脚本完整路径:$fullPath\n";
当你运行php xxx.php时,输出就会变成:
当前主脚本是:xxx.php 主脚本完整路径:/你的实际路径/xxx.php
另外要注意,不管是Web环境还是CLI命令行模式,这些变量都能正常工作,完全不需要额外配置~
内容的提问来源于stack exchange,提问作者Radishx
相关产品推荐
相关产品推荐

