我需要找到我包含的没有GET参数的文件的文件名。
例如:如果当前URL是http://www.mysite.com/folder/file.php?a=b&c=d,我希望返回file.php
我发现:
basename($_SERVER['REQUEST_URI'])它返回:
file.php?a=b&c=d在我的例子中:我在购物车的部分中使用了表单中的文件名,所以每次您单击'reduce number of product‘按钮时,它会将表单的GET参数(productId和操作)添加到URL的末尾:file.php?a=b&c=d?a=b&c=d...
我知道我可以简单地爆炸或类似的东西在'?‘
$file = explode("?", basename($_SERVER['REQUEST_URI']))并使用数组的第一部分,但我似乎想起了一些更容易的东西,但是无法再次定位代码。
我是PHP的新手,所以对你的代码的解释将不胜感激。
谢谢,V
发布于 2011-05-03 21:23:59
您可以使用parse_url。在您的情况下,您可以使用:
$url = parse_url($url, PHP_URL_PATH);要只获取文件名,您可以执行以下操作:
$url = explode('/', parse_url($url, PHP_URL_PATH));
$url = end($url);发布于 2011-05-03 21:27:26
也许你在找$_SERVER['PHP_SELF']。
请注意,它的开头有一个'/‘字符。
发布于 2011-05-03 21:21:14
你试过简单的basename(__FILE__);吗?这将使您获得代码所在位置的文件名,因为它在磁盘上。
为了获得所请求的文件,您可以使用basename($_SERVER['SCRIPT_NAME']);。这将始终获取所请求的文件,而不是其中包含代码的文件。
https://stackoverflow.com/questions/5870087
复制相似问题