2011-10-07 107 views
1

如何在php中获取当前的全网址但减去所有querystrings?

echo 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 

将回声像假设的查询字符串已经到位......

http://www.example.com/example?tab=foo&dslip=yes 

我怎样才能得到与上面相同,但切断了所有的查询字符串?

这是如何在PHP中完成的。

谢谢。

回答

5

PHP_SELF是你所需要的,我相信。

echo('http' . ((empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off') ? '' : 's') . '://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']); 

还是__FILE__不变,这取决于你的具体配置和情况。

+0

什么'https'? – hakre

+0

那么你也需要使用$ _SERVER ['HTTPS'],并且依赖于正确的协议。 – lynks

1

试试这个

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 

$part = explode('?',$url); 

echo $part[0]; 
0

我认为解决的办法是这样的:像你想

echo 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME']; 

的$ _ SERVER [ 'SCRIPT_NAME']变量返回脚本的路径,而不查询字符串。

,如果你想看到在PHP中所有可用的变量只是试试这个

phpinfo(); 

问候

相关问题