私のページの1つで、共通のサイドバーでこのページを認識するためimage.php?id=somenumber
に使用しています。<?php echo $_SERVER['PHP_SELF']; ?>
しかし、これを使用すると、私が望まない$_SERVER['PHP_SELF']
idの値も得られます。image.php?id=32
ファイル名のみを取得するにはどうすればよいですか?
私のページの1つで、共通のサイドバーでこのページを認識するためimage.php?id=somenumber
に使用しています。<?php echo $_SERVER['PHP_SELF']; ?>
しかし、これを使用すると、私が望まない$_SERVER['PHP_SELF']
idの値も得られます。image.php?id=32
ファイル名のみを取得するにはどうすればよいですか?
$_SERVER['SCRIPT_NAME']
、少なくともApacheを使用している場合は、必要なものをカバーする必要があります。これは、クエリ文字列を含まず、ドキュメントルートを基準にして(、、、または。SCRIPT_FILENAME
ではなく)実行されるスクリプトである必要があります。REQUEST_URI
PHP_SELF
$parts = explode('/', $_SERVER["SCRIPT_NAME"]);
$file = $parts[count($parts) - 1];
これを使用して、クエリ文字列を切り取ることができます。
$_SERVER['SELF']=array_shift(explode('?',$_SERVER['SELF']));
echo parse_url('http://dummy.com/'.$_SERVER['SELF'], PHP_URL_PATH);
http://dummy.com/
parse_urlは相対URLを処理できないため、この部分はそこにのみ存在します。
どのバージョンのPHPを使用していますか?鉱山(5.3.3)には$_SERVER['SELF']がありません。
$ _SERVER ['PHP_SELF']は、スクリプト名(image.php)を提供します。
$fileName=explode("/",$_SERVER['SCRIPT_NAME']);
echo end($fileName);