首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有参数的情况下获得文件名?

问如何在没有参数的情况下获得文件名?
EN

Stack Overflow用户
提问于 2011-05-03 21:20:10
回答 9查看 9K关注 0票数 5

我需要找到我包含的没有GET参数的文件的文件名。

例如:如果当前URL是http://www.mysite.com/folder/file.php?a=b&c=d,我希望返回file.php

我发现:

代码语言:javascript
复制
basename($_SERVER['REQUEST_URI'])

它返回:

代码语言:javascript
复制
file.php?a=b&c=d

在我的例子中:我在购物车的部分中使用了表单中的文件名,所以每次您单击'reduce number of product‘按钮时,它会将表单的GET参数(productId和操作)添加到URL的末尾:file.php?a=b&c=d?a=b&c=d...

我知道我可以简单地爆炸或类似的东西在'?‘

代码语言:javascript
复制
$file = explode("?", basename($_SERVER['REQUEST_URI']))

并使用数组的第一部分,但我似乎想起了一些更容易的东西,但是无法再次定位代码。

我是PHP的新手,所以对你的代码的解释将不胜感激。

谢谢,V

EN

回答 9

Stack Overflow用户

发布于 2011-05-03 21:23:59

您可以使用parse_url。在您的情况下,您可以使用:

代码语言:javascript
复制
$url = parse_url($url, PHP_URL_PATH);

要只获取文件名,您可以执行以下操作:

代码语言:javascript
复制
$url = explode('/', parse_url($url, PHP_URL_PATH));
$url = end($url);
票数 12
EN

Stack Overflow用户

发布于 2011-05-03 21:27:26

也许你在找$_SERVER['PHP_SELF']。

请注意,它的开头有一个'/‘字符。

票数 10
EN

Stack Overflow用户

发布于 2011-05-03 21:21:14

你试过简单的basename(__FILE__);吗?这将使您获得代码所在位置的文件名,因为它在磁盘上。

为了获得所请求的文件,您可以使用basename($_SERVER['SCRIPT_NAME']);。这将始终获取所请求的文件,而不是其中包含代码的文件。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5870087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档