パラメータの1つがURLの場合、parse_url()問題
質問
PHPスクリプトhttp://site.com/process.php
をパラメータの1つとして呼び出します。for=
http://site.com/process.php?for=http://www.anotherwebsite.com
.
iを実行し、parse_url()
を試してくださいが、parse_url()は解析エラーを与えます。
$uri = $_SERVER['REQUEST_URI']; // /process.php?for=http://www.anotherwebsite.com
parse_url($uri);
.
for
がURLのように見えるようになったパラメータであることを理解するように、送信側(URL内)または受信側(PHP)でparse_url()
パラメータをエンコードする方法
解決
well、最初にurlencode()
パラメータをfor=
パラメータで、process.php
で、単にを実行することができます。
$url = $_GET["for"];
$url = urldecode($url); // http://www.anotherwebsite.com
.
これは関数です: http://php.net/manual/en/function.urlencode.php http://php.net/manual/en/function.urldecode.php
所属していません StackOverflow