2

在我的一个页面image.php?id=somenumber中,我<?php echo $_SERVER['PHP_SELF']; ?>用于在公共侧边栏中识别此页面。但是使用它也会产生我不想要$_SERVER['PHP_SELF']的 id 值。image.php?id=32

我如何只获取文件名?

4

6 回答 6

4

$_SERVER['SCRIPT_NAME'],如果您至少使用 Apache,应该涵盖您需要的内容。它应该是不带查询字符串且相对于文档根目录的已执行脚本(与SCRIPT_FILENAMEREQUEST_URIPHP_SELF.

于 2012-04-26T07:42:12.487 回答
3
$parts = explode('/', $_SERVER["SCRIPT_NAME"]);
$file = $parts[count($parts) - 1];
于 2012-04-26T07:33:34.980 回答
2

您可以简单地使用它来切断查询字符串:

$_SERVER['SELF']=array_shift(explode('?',$_SERVER['SELF']));
于 2012-04-26T07:39:50.060 回答
2
echo parse_url('http://dummy.com/'.$_SERVER['SELF'], PHP_URL_PATH);

http://dummy.com/部分仅存在,因为 parse_url 不能与相对 url 一起使用。

于 2012-04-26T07:40:29.327 回答
0

您使用的是什么版本的 PHP?我的 (5.3.3) 没有 $_SERVER['SELF']。

$_SERVER['PHP_SELF'] 虽然给出了脚本名称(image.php)。

于 2012-04-26T07:37:50.220 回答
0
$fileName=explode("/",$_SERVER['SCRIPT_NAME']);
echo end($fileName);
于 2014-04-29T07:17:46.957 回答