![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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ランキング
-
複数のファイルで同じ定数を定...
-
<A href ~ と一緒に値を渡すには
-
HYのAM11:00のラップの部分の歌...
-
qmail+phpでfwriteができません
-
フォームで戻った際に入力済み...
-
PHPのバージョンアップに関して
-
PHPINFOが見えない
-
.htaccessのURL書き換えができ...
-
検索エンジンへの反映
-
暦について
-
sendmail_fromについて(xampp)
-
3人の旅人が
-
ページ移動について
-
複数ページのセッションの送り方
-
カテゴリ別に振り分け
-
PEAR(Image_QRCode)のエラー
-
セッションについての設定なの...
-
html構文をPHPの変数に正しく格...
-
Apacheの設定ファイルにPHPの設...
-
php界のCPANのような場所はある...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.htaccessにphp_valueが使用できな
-
<A href ~ と一緒に値を渡すには
-
フォームで戻った際に入力済み...
-
HYのAM11:00のラップの部分の歌...
-
phpの中でphpを書けないか
-
require_once()でファイルが読...
-
PHPからMSSQLへの接続結果の文...
-
PHPINFOが見えない
-
<大至急!>ご教授願います。
-
テキストエリアの内容がメール...
-
Apache 2.4.0でphp5.3を使うには?
-
メレンゲの歴史
-
*.php、*.php3、*.phtmlの違い
-
これの対応OSを教えて下さい。p...
-
PHPで別PHPを呼び出す。
-
header(Location:~)で$_SESS...
-
PHP PDOライブラリが読み込まれ...
-
apache・phpが起動しない・・・
-
iframeで読み込んだ別のphpファ...
-
服にかいた油性ペンがにじまな...
おすすめ情報