Archives by date

You are browsing the site archives by date.

【PHP】日本語ドメインをピュニコードに変換する。

file_get_contents()などでページのコンテンツを取得しにいく際、日本語ドメインをそのまま渡すとエラーになってしまうため、ピュニコードに変換してやる必要がある。

調べるとPEARのライブラリを利用することで簡単に実現可能な模様。

下記URLからライブラリをダウンロードして任意の位置に配置した後、「Net/IDNA2.php」をrequireすれば使用可能。

http://pear.php.net/package/Net_IDNA2/download

以下例。

require_once 'Net/IDNA2.php'; 
$punycode = Net_IDNA2::getInstance();

$encode = $punycode->encode('日本語ドメイン.com');
$decode = $punycode->decode('xn--eckwd4c7c5976acvb2w6i.com');

これで暗号化と復号化が可能。

 

【PHP】time()関数とREQUEST_TIMEの速度を比較してみた。

実験コードは下記の通り。

// time()
$start = microtime(true);
for($i = 0; $i <= 100000000; $i++) {
	time();
}
$end = microtime(true);
$r = $end - $start;
var_dump($r);

// $_SERVER['REQUEST_TIME']
$start = microtime(true);
for($i = 0; $i <= 100000000; $i++) {
	$_SERVER['REQUEST_TIME'];
}
$end = microtime(true);
$r = $end - $start;
var_dump($r);

結果は下記の通り。

float(20.367789983749)
float(13.140978097916)

結果:$_SERVER[‘REQUEST_TIME’]を参照するほうが速い。

※けどほぼ気にする必要無いレベル。