2014-10-29 93 views
2
$path = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://"; 
$path .=$_SERVER["SERVER_NAME"]. dirname($_SERVER["PHP_SELF"]); 

我这,这是什么情况,如果我做一个回声

echo $path 
http:://localhost/folder 

,并没有文件夹

http:://localhost/ 

,如果有一个文件夹不回我的吧,如果我连着一间酒吧以及没有文件夹的结果所以

$path .=$_SERVER["SERVER_NAME"]. dirname($_SERVER["PHP_SELF"])."/"; 
echo $path 
http:://localhost/folder 
http:://localhost// 

任何想法更好或更优化得到我想要的东西? 在这两种情况下给我一个单杠吧

+0

重复的http://stackoverflow.com/questions/9339619/php-checking-if-the-last-character-is-a-if-not-then-tack-it-on – secelite 2014-10-29 08:49:24

回答

0

如果我理解正确的问题,通过bar你实际上意味着/forward slash字符,当dirname()回报什么,你最终//这一点,但想只有一个/

如果是这种情况,那么以下内容应该满足您的要求。

$path = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://" . $_SERVER["SERVER_NAME"] . '/' . trim(dirname($_SERVER["PHP_SELF"]),'/');