PHPアナログはPOST要求の二、PHPとJSでURL情報を処理する
5221 ワード
HTTPリクエストのヘッダ情報がわかったら、リクエストアドレスも知る必要があります.なお,HTTP GETリクエストはURLによって実現されるので,URLの構造を理解し,URLを扱うことの重要性は言うまでもない.
PHPではparse_を使いますurl()関数は、URL情報を処理します.
関数のプロトタイプは次のとおりです.
array parse_url ( string $url [,URL_COSTANT])
この関数は、URLを解析し、URLに表示されるさまざまなコンポーネントを含む関連配列を返します.
重大な不合格のURLに対してparse_url()はFALSEに戻りE_を発行する場合がありますWARNING.そうでなければ、関連する配列が返されます.そのコンポーネントは(少なくとも1つ)です.
正しい戻り値は次のとおりです.
次に、parse_を使用した典型的なURL文字列を示します.url()を解析し、その結果配列を出力します.
また、2番目のパラメータに値を付けて、返すURL部分、対応するURL_を指定することもできます.CONSTの値は次のとおりです.
scheme:PHP_URL_SCHEME,
host:PHP_URL_HOST,
port:PHP_URL_PORT,
user:PHP_URL_USER,
pass:PHP_URL_PASS,
path:PHP_URL_PATH,
query:PHP_URL_QUERY,
fragment:PHP_URL_FRAGMENT.
たとえば、戻りアドレスのクエリーフィールド情報を指定します.
URL情報をどのように分割するかを理解した後、私たちもURL情報を統合することを学ぶ必要があります.統合URL情報には専門的な関数http_build_url()ですが、この関数は処理が煩雑で、一般的にはあまり使われていません.URLを綴るために文字列をよく使います.多くのクエリー情報(query_string)を処理するときはhttp_build_query()関数.
http_build_Query()関数を使用すると、関連配列をクエリー文字列にすばやく結合できます.オブジェクト分析をクエリー文字列に結合することもできますが、修飾子がpublicの「プロパティ」であることしか保持できません.残りの情報は破棄されます.
例:
また、JSは現在のurl情報を取得します.
LocationオブジェクトはWindowオブジェクトの一部であり、windowを通過することができる.locationプロパティにアクセスします.現在のURLに関する情報が含まれています.
Locationオブジェクトのプロパティ
属性の説明
hash URLアンカー情報
ホスト名と現在のURLのポート番号
hostname現在のURLのホスト名
href完全なURL
pathname現在のURLのパス部分
port現在のURLのポート番号
protocol現在のURLのプロトコル
searchクエリー文字列
PHPではparse_を使いますurl()関数は、URL情報を処理します.
関数のプロトタイプは次のとおりです.
array parse_url ( string $url [,URL_COSTANT])
この関数は、URLを解析し、URLに表示されるさまざまなコンポーネントを含む関連配列を返します.
重大な不合格のURLに対してparse_url()はFALSEに戻りE_を発行する場合がありますWARNING.そうでなければ、関連する配列が返されます.そのコンポーネントは(少なくとも1つ)です.
正しい戻り値は次のとおりです.
scheme http
host
port
user
pass
path
query ?
fragment # Hash
次に、parse_を使用した典型的なURL文字列を示します.url()を解析し、その結果配列を出力します.
$url='https://zbs:[email protected]:8080/home/index.html?gender=male&write=code#anchor';
$arr=parse_url($url);
array (size=8)
'scheme' => string 'https'
'host' => string 'www.baidu.com'
'port' => int 8080
'user' => string 'zbs'
'pass' => string 'mypass'
'path' => string '/home/index.html'
'query' => string 'gender=male&write=code'
'fragment' => string 'anchor'
また、2番目のパラメータに値を付けて、返すURL部分、対応するURL_を指定することもできます.CONSTの値は次のとおりです.
scheme:PHP_URL_SCHEME,
host:PHP_URL_HOST,
port:PHP_URL_PORT,
user:PHP_URL_USER,
pass:PHP_URL_PASS,
path:PHP_URL_PATH,
query:PHP_URL_QUERY,
fragment:PHP_URL_FRAGMENT.
たとえば、戻りアドレスのクエリーフィールド情報を指定します.
$url='https://zbs:[email protected]:8080/home/index.html?gender=male&write=code#anchor';
$arr=parse_url($url,PHP_URL_QUERY);//string '/home/index.html
URL情報をどのように分割するかを理解した後、私たちもURL情報を統合することを学ぶ必要があります.統合URL情報には専門的な関数http_build_url()ですが、この関数は処理が煩雑で、一般的にはあまり使われていません.URLを綴るために文字列をよく使います.多くのクエリー情報(query_string)を処理するときはhttp_build_query()関数.
http_build_Query()関数を使用すると、関連配列をクエリー文字列にすばやく結合できます.オブジェクト分析をクエリー文字列に結合することもできますが、修飾子がpublicの「プロパティ」であることしか保持できません.残りの情報は破棄されます.
例:
$info=['run'=>'10km','eat'=>'3kg'];
var_dump(http_build_query($info));//string 'run=10km&eat=3kg'
class Msg{
public $attr_public="value_public";
protected $attr_protected="value_protected";
private $attr_private="value_private";
function foo(){
echo "foo";
}
}
$msg=new Msg();
var_dump(http_build_query($msg));//string 'attr_public=value_public'
また、JSは現在のurl情報を取得します.
LocationオブジェクトはWindowオブジェクトの一部であり、windowを通過することができる.locationプロパティにアクセスします.現在のURLに関する情報が含まれています.
Locationオブジェクトのプロパティ
属性の説明
hash URLアンカー情報
ホスト名と現在のURLのポート番号
hostname現在のURLのホスト名
href完全なURL
pathname現在のURLのパス部分
port現在のURLのポート番号
protocol現在のURLのプロトコル
searchクエリー文字列