PHPでURLを解析してクエリ(GETパラメータ)を抽出する方法
2024/02/25
formからGETで送信したクエリ(パラメータ)を、受信した側で抽出し、キーと値をそのまま連想配列に代入したかった。例えば「?param=1&name=hoge」の場合は「key:param / value:1」「key:name / value:hoge」のような形で抽出したい。以下にその方法のメモ。
ソース
<?php
if( !$_GET['url'] ){
echo 'empty url';
exit();
}
$query_array = array();
$query_string = (parse_url($_GET['url'], PHP_URL_QUERY)); //URLを解析してクエリパラメータを抽出
parse_str($query_string, $query_array); //文字列を処理し、変数に代入
var_dump($query_array);
parse_urlでURLを解析してクエリパラメータを抽出、parse_strで文字列を処理し変数に代入という形になる。
テストしたURLと結果
http://hoge.com/hoge.php?name=名前&pass=kmsdkafd&id=516516
というURLをテストで送信した。var_dumpの結果は以下の通り。
array(3) {
["name"]=>
string(4) "名前"
["pass"]=>
string(8) "kmsdkafd"
["id"]=>
string(6) "516516"
}
関連記事
-
-
PHPでCSVファイル出力用の関数
ここのところログ系をCSVファイル出力にするケースが多かった為、使いまわせるよう ...
-
-
PHPでjpg / png画像をWebP画像に変換し保存する方法
PHPでjpg / png画像を圧縮したかった。ただjpg / pngのままだと ...
-
-
PHPでHTMLメールを送信する方法(PHPMailerあり無しの2パターン)
PHPでHTMLメールを送信したい。また、メール関連の機能を実装する際は環境によ ...
-
-
PHP7 / 8でBlowfishアルゴリズムを用いた暗号化と復号化方法
大分前にPHPでPearのCrypt_Blowfishパッケージを使用し、Blo ...
-
-
PHPでエラーログ等のログファイルから指定した行数を表示させる方法
エラーログを最新分から指定行数表示させる プログラムがあって、どういった作りにな ...