2

私のページの1つで、共通のサイドバーでこのページを認識するため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_FILENAMEではなく)実行されるスクリプトである必要があります。REQUEST_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 に答える