打印包含文件的文件名,不包括在内

时间:2013-04-02 00:29:05

标签: php httprequest canonical-link http-host

我有example1.phpexample2.php,其中包含example3.php。在example3.php我有:

<link rel="canonical" href="http://website.com/<?php echo basename(__FILE__); ?>">

我想要的是example1.php中的example2.php / href依赖于文件,包括 example3.php。问题是当然__FILE__输出example3.php。是否可以获取包含文件的文件名,而不是包含文件的文件名?

请不要建议使用易受攻击的XSS SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']

2 个答案:

答案 0 :(得分:1)

如果您不想使用任何$ _SERVER ['']类型来获取文件名 你可以使用

pathinfo(__FILE__, PATHINFO_BASENAME)

只获取您想要的文件名

答案 1 :(得分:1)

(警告:此技巧可能无法扩展,但在这种情况下可以正常工作。)

使用get_included_files()返回的元素0。这将是启动链的原始文件

在example3.php中:

$gif = get_included_files();

然后你可以做

<link rel="canonical" href="http://website.com/<?php echo basename($gif[0]); ?>">