その他基本モジュールURL 関数
- base64_encode〔データをBase64形式にエンコード〕
- base64_decode〔Base64形式のデータを、元の形式に復元〕
- get_meta_tags〔メタ情報を配列に格納する〕
- parse_url〔URLを解析し、その構成情報を配列として返す〕
- urlencode〔文字列をURLエンコードする〕
- urldecode〔指定された文字列のあらゆるエンコード文字をデコードする〕
base64_encode
データをBase64形式にエンコード
unknown
エンコード後のデータを、BASE64形式でエンコードして返します。 BASE64形式でエンコードされたデータは、エンコード前のデータより33%容量が増えます。
<?
#base64形式で文字列をエンコード
$str = 'PHP & JavaScript Room';
$encoded_str = base64_encode($str);
echo $encoded_str."<br>"; //UEhQICZhbXA7IEphdmFTY3JpcHQgUm9vbQ==
#base64形式でエンコードされた文字列をデコード
echo base64_decode($encoded_str); //UEhQICZhbXA7IEphdmFTY3JpcHQgUm9vbQ==
?>
base64_decode
Base64形式のデータを、元の形式に復元
unknown
エンコード前のデータをデコードし、元のデータにして返します。 失敗した場合にFALSEを返します。返り値はバイナリになることもあります。
<?
#base64形式で文字列をエンコード
$str = 'PHP & JavaScript Room';
$encoded_str = base64_encode($str);
echo $encoded_str."<br>"; //UEhQICZhbXA7IEphdmFTY3JpcHQgUm9vbQ==
#base64形式でエンコードされた文字列をデコード
echo base64_decode($encoded_str); //PHP & JavaScript Room
?>
parse_url
URLを解析し、その構成情報を配列として返す
unknown
URLの様々な構成要素のうち特定できるものを連想配列にして返します。 URLには必ず絶対パスを指定します(相対パスだと動作しません)。 変な形式のURLが指定された場合にFALSEを返し、E_WARNINGレベルのエラーが発生します。
この関数は指定されたURLが有効かどうか調べるものではなく、ただ単にURLを分解するだけです。 また、不完全なURLであっても可能な限り解析しようと試みます。
返り値の連想配列には、少なくとも1つは、「scheme」、「host」、「port」、「user」、「pass」、「path」、「query(?以降)」、「fragment(#以降)」が含まれます。
<?
$url = 'http://localhost/test/pj_roomer/index.php?p=103&t=php#parse_url';
print_r(parse_url($url));
/*
Array
(
[scheme] => http
[host] => localhost
[path] => /test/pj_roomer/index.php
[query] => p=103&t=php
[fragment] => parse_url
)
*/
?>
urlencode
文字列をURLエンコードする
unknown
指定した文字列をURLエンコードします。 この関数は、URLの問合せ部分に使用する文字列のエンコードや、次のページへ変数を渡す際に便利です。
ハイフン、アンダースコア、ドットを除く全ての非英数文字が%記号に続く2桁の数字に、空白は+記号にエンコードされます。 ただし、HTMLエンティティにマッチする変数については注意が必要です。
&
、©
、£
などがブラウザから送信された場合、エンティティの実体がそのまま使用されてしまうため、
セパレータには「&」ではなく、「&」を使用します。
URLはhtmlentities ( urlencode ( $data ) );
のようにhtmlentities()関数を使用してエンコードする必要があります。
<?
$foo="フー";
$bar="バー";
$QUERY_STRING = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($QUERY_STRING) . '">リンク</a>';
//<a href="mycgi?foo=%83t%81%5B&bar=%83o%81%5B">リンク</a>
?>
urldecode
指定された文字列のあらゆるエンコード文字をデコードする
unknown
指定した文字列に含まれるあらゆるエンコード文字をデコードして返します。
<?
$foo="フー";
$bar="バー";
$QUERY_STRING = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
#
$a = explode('&', $QUERY_STRING);
$i = 0;
while ($i < count($a)) {
$b = split('=', $a[$i]);
echo 'Value for parameter ', htmlspecialchars(urldecode($b[0])),
' is ', htmlspecialchars(urldecode($b[1])), "<br>\n";
$i++;
}
/*
Value for parameter foo is フー
Value for parameter bar is バー
*/
?>