![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
http://localhost/php/param.php/test
上の様なURL上から、「/」以降の文字の取得をしたいです。
以下の様に作成しましたが、実行結果、何も表示されません。
<?php
$file = basename($_SERVER["PHP_SELF"]);
$url = "http://" . $_SERVER["SERVER_NAME"].$_SERVER['REQUEST_URI'];
preg_match("/".$file."\/(.+$)/",$url,$match);
$get = $match[1];
print $get;
?>
記述ミスでしょうか?
困っています。教えて下さい。
No.1ベストアンサー
- 回答日時:
>
http://localhost/php/param.php/test>上の様なURL上から、「/」以降の文字の取得をしたいです。
/以降って??? 文字通りとらえると /localhost/php/param.php/test になりますけど?
最後の/以降つまり、test のことですか?
それはそれとして、意図がなんであれ、
PHP_SELF = /php/param.php/test
SERVER_NAME = localhost
REQUEST_URI = /php/param.php/test
なので、
>preg_match("/".$file."\/(.+$)/",$url,$match);
は
preg_match("//php/param.php/test\/(.+$)/","http://localhost/php/param.php/test");
になりますが、これは多分意図と違いますよね。
あと、$が文字列末の意図なら、(.+$)でなく(.+)$です。
No.4
- 回答日時:
からpath infoの /test が取得したいと言うことでしょうか
$_SERVER["PATH_INFO"]
で取得できませんか
No.3
- 回答日時:
それぞれの$_SERVERで取ってくる値がどうなっているのかの
問題な気がします。
それぞれ固定値で実験してみた結果
$file = "param.php";
$url = "http://localhost/php/param.php/test";
preg_match( "/".$file."\/(.+$)/", $url, $match );
print $match[1];
-------------------
test
-------------------
と表示されたので、
やってることは間違えてはいないと思います。
まぁ、シンプルにしようと思ったら
print basename($_SERVER['REQUEST_URI']);
で出来るとは思いますが・・・
No.2
- 回答日時:
ディレクトリ名を除いた実行ファイル名を取得する方法でしたら、
私は、以下のような方法で取得しています。
$get = end(explode("/",$_SERVER["PHP_SELF"]));
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHP & MySQL: Server-side Web Development ペーパ 1 2022/04/19 19:23
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- その他(OS) Windows Server評価版がダウンロードできない 1 2022/05/06 13:32
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP 画像が表示出来ません。 1 2023/02/02 16:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
phpでのリダイレクト処理について
-
pear_info.phpも表示できません
-
HYのAM11:00のラップの部分の歌...
-
.htaccessにphp_valueが使用できな
-
PHPで別PHPを呼び出す。
-
PHP5.2.6 Apace2.2 のインス...
-
phpのextension_dirを複数指定...
-
GOOの質問と回答履歴は永久...
-
複数のPHPファイルを読み込むに...
-
CFileDialogの最初のディレクト...
-
VB6にてメールを送信する方法
-
onedrive にexcelファイルをア...
-
バイナリファイルをブラウザに...
-
OpenGLで描いて画像ファイル出力
-
フォントの色を変えるには?
-
VB.NET 最下位のディレクトリ名...
-
リンク先を隠す方法はないでし...
-
PHPのif文でその処理を途中で抜...
-
FORMタグを使わずに、POSTする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームで戻った際に入力済み...
-
.htaccessにphp_valueが使用できな
-
<A href ~ と一緒に値を渡すには
-
phpの中でphpを書けないか
-
HYのAM11:00のラップの部分の歌...
-
*.php、*.php3、*.phtmlの違い
-
PHPで別PHPを呼び出す。
-
PHPINFOが見えない
-
プリクラの設置してある場所
-
fsockopenなどについて
-
PHP/SQL リスト→クリックした名...
-
ヒョウタンボクの毒はどんな種...
-
php界のCPANのような場所はある...
-
パソコン一日中つけっぱなしの...
-
メレンゲの歴史
-
header(Location:~)で$_SESS...
-
PHPからMSSQLへの接続結果の文...
-
undefined function: mb_conver...
-
複数のファイルで同じ定数を定...
-
アルゴリズム
おすすめ情報