如何使PHP包含当前页面名称?

时间:2015-10-29 05:26:30

标签: php

我目前正在硬编码包含在我的页面中,并且每次我想要创建新页面时都会进行大量工作。目前,我的网址是这样的:

http://example.com/folder/one-z-pagename.php?var1=one&var2=two

并在 one-z-pagename.php 我有一个包含如下:

include("lander-a-pagename.php");

所以我想做的不是将文件硬编码到上面的页面中,而是想从网址中抓取one-z-pagename.php而没有?var1=one&var2=two,删除前{6}个字符{{ 1}}并将其替换为one-z-

我该怎么办?

2 个答案:

答案 0 :(得分:0)

使用parse_urlbasename获取文件名,然后str_replace

$url= parse_url('http://example.com/folder/one-z-pagename.php?var1=one&var2=two');
$file = basename($url['path']);
$newfile = str_replace('one-z-','lander-a-',$file);
echo $newfile;

输出:lander-a-pagename.php

答案 1 :(得分:0)

它可以通过多种方法实现,请看下面两种方法:

方法1:

$current_script_name = basename(__FILE__);
$include_script_name = 'lander-a-'.substr($current_script_name, 6);

方法2:

$current_script_name = $_SERVER['SCRIPT_NAME'];
$current_script_name = end(explode('/', $current_script_name));
$include_script_name = 'lander-a-'.substr($current_script_name, 6);
//OR
$include_script_name = str_replace('one-z', 'lander-a', $current_script_name);

变量$include_script_name包含您要包含的必需文件名。

希望这会有所帮助。