怎样获取包含当前文件的文件名?

you_kind 2008-06-03 12:11:49
b.php中包含a.php:
include_once("a.php");

在a.php执行的时候 怎样知道 是哪个文件包含了它呢?
...全文
105 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
剑心永远OK 2008-06-03
  • 打赏
  • 举报
回复
basename($PHP_SELF)
you_kind 2008-06-03
  • 打赏
  • 举报
回复
哎。。需求总是bt的,ls说的是,我又n多个php要来include a.php,改起来也麻烦的

多级include 用的很广泛的呀。。。
ashchen 2008-06-03
  • 打赏
  • 举报
回复
php中的include和c语言(编译型)的include 有着本质的区别,没事别在php中乱用多级include否则你自己都糊涂了
ashchen 2008-06-03
  • 打赏
  • 举报
回复
那你在b.php设置一个变量嘛
b.php
...
$file_name=__FILE__;
...
别的php文件头上也有这个赋值

a.php判断一下这个变量就行了
you_kind 2008-06-03
  • 打赏
  • 举报
回复
哎。。。
dada20042030: basename($PHP_SELF)
应该是 basename($_SERVER['PHP_SELF']),返回的是用户访问的文件名啊,如果有c.php 包含 b.php, b.php包含a.php,我在a.php中按照这个方法只能得到c.php得不到b.php

ten789: __FILE__ 返回的还是a.php。。。

my_web:好像我没表达好意思。。我是想知道,b.php包含a.php的时候,怎样在a.php中知道是b.php包含了它?


谢谢楼上各位~~
ilitou 2008-06-03
  • 打赏
  • 举报
回复
LS正解...
my_web 2008-06-03
  • 打赏
  • 举报
回复

a.php
<?
define("FLAG",1);
?>

b.php
<?
include 'a.php';
if(FLAG==1)
{
echo "包含";
}else{
echo "不包含";
}
?>
my_web 2008-06-03
  • 打赏
  • 举报
回复
在a.php 里面设计个标记,b.php里面如果包含这个标记就包含了
否则没有
fxs_2008 2008-06-03
  • 打赏
  • 举报
回复
不能知道
ten789 2008-06-03
  • 打赏
  • 举报
回复
__FILE__

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧