![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
現在Multiviewsの設定にてphpが拡張子有りでも無しでも動作します
仮に実行ファイルをtest.phpとしますとtest.phpでもtestでも動作するわけですが
そのtest.php中で$_SERVER['SCRIPT_NAME']で取得した場合に
test.phpでもtestでも拡張子の付いたtest.phpで取得されます
これをtest.phpだったらtest.php、testだったらtestで取得できるように
したいのですが何か方法はないでしょうか?
No.2ベストアンサー
- 回答日時:
> REQUEST_URIではPATH_INFOなどの場合に末端のパスの拡張子になります
それなら、REQUEST_URIからPATH_INFOを取り除けばよいでしょう。
$r = $_SERVER[REQUEST_URI];
$p = $_SERVER[PATH_INFO];
if (substr($r, strlen($r)-strlen($p), strlen($p)) === $p) {
$r = substr($r, 0, strlen($r)-strlen($p));
}
echo "$r\n";
で、実URLをベースにしたSCRIPT_NAME相当の文字列が得られます。
この回答への補足
しかし、日本語エンコード文字がURLに含まれている場合
$_SERVER[REQUEST_URI]はそのまま取得するに対し
$_SERVER[PATH_INFO]は日本語として取得するようです
この場合$_SERVER[PATH_INFO]の日本語の部分のみをエンコードする
必要があるのですが、何かスマートな方法はないでしょうか?
別のサーバー(CGI版のPHP)ではSCRIPT_NAMEで拡張子有り無しをそのまま
返してくれます、何か設定はあるのでしょうか?
No.1
- 回答日時:
SCRIPT_NAME ではなく、REQUEST_URI を参照するようにしてください。
SCRIPT_NAME は、実行しているプログラム名が入っていますが、
REQUEST_URI には、実際にアクセスしているURLのパス部分が入っています。
この回答への補足
すいません
REQUEST_URIではPATH_INFOなどの場合に末端のパスの拡張子になります
つまり
/test/aaaa/bbbb.php
とか疑似している場合にはbbbb.phpを取得してしまいます。
この場合も実行ファイル test の部分を取得したいのです
/test/aaaa/bbbb.php ならOK
/test.php/aaaa/bbbb.php ならNGにしたいのですが
何かいい方法はないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- JavaScript [再掲]指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードについて 1 2023/05/10 15:09
- サーバー Windowsサーバでグループを検索したい 1 2023/04/17 15:30
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- Excel(エクセル) Excelの置換が上手くいかない Microsoft® Excel® 2019 MSO (バージョン 5 2022/08/17 22:26
- その他(学校・勉強) Japanese schools tests 1 2022/08/19 14:41
- 中学校受験 Japanese schools 1 2022/08/22 15:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのstrpbrk関数ってひらがな...
-
php で C言語のdefineマクロの...
-
simplexml_load_file で呼び出...
-
共通の処理をまとめる方法がわ...
-
フォントの色を変えるには?
-
【BAT(バッチ)ファイル】Web...
-
PHP8を使うと、大量のWarningが...
-
バッチを用いたフォルダの自動移動
-
ファイル一覧を表示しその画面...
-
文字化けについて
-
PHPのif文でその処理を途中で抜...
-
eclipseのエラーの意味
-
透過PNGが透過されない!!
-
空メールの作り方教えて欲しい...
-
3つ以上の論理積は利用可能なの...
-
fopenでファイルが開かない場合...
-
tplを読みに行けません。
-
move_uploaded_fileのエラーについ
-
Apache(Ver 2.4.4)の設...
-
is_callable()の第二引数の使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php で C言語のdefineマクロの...
-
PHPのタイムアウトについて
-
PHP MySql ページング
-
ページ全体をリロードしてしまう
-
fortran結果をブラウザに表示
-
PHPでパラメータ取得
-
[wordpress]外部RSSを「文字...
-
変数に格納する文字列の表示方法
-
現在Multiviewsの設定にてphpが...
-
受け取り値を"豊岡市","養父市"
-
htsp ?? <?= ?>??
-
BASIC認証のユーザー名をPHPで...
-
■■simpleXMLでホットペッパーの...
-
PHP Mysql SELECTであいまい検...
-
特定の値をPOST送信で他のサー...
-
phpでハイパーリンクして値を持...
-
PHPとHTMLをまとめてコメントア...
-
「include()」関数の使い方につ...
-
simplexml_load_file で呼び出...
-
「include」と「file_get_conte...
おすすめ情報