[PHP] 短縮URLを展開する方法

自由が丘で働くWeb屋のブログ

[PHP] 短縮URLを展開する方法

[PHP] 短縮URLを展開する方法

文字数制限のあるTwitterなどにURLを張る際、短縮URLサービスは便利ですが、Webサービスで利用する際は元のURLが分かった方が便利です。
PHPで短縮URLの元のURLを確認する方法は以下から。

PHPで短縮URLを展開する方法

今回は『get_headers()関数』を用います。
PHP5から実装された関数なので、PHP4環境では使用する事ができません。

//『http://www.yahoo.co.jp/』を短縮したURL
$clipped_url = 'http://bit.ly/INPsu';
//HTTPリクエストに対するヘッダの配列を取得
$header_data = get_headers($clipped_url, true);
//Locationが含まれている場合、元URLとしてセット
if(isset($header_data['Location'])){
	$original_url = $header_data['Location'];
	//元URLが配列の場合、配列の最後の要素を取得
	if(is_array($original_url)){
		$original_url = end($original_url);
	}
}else{
	//元URLが取得できなかった際の処理
	$original_url = '';
}
var_dump($original_url);

//出力結果は『http://www.yahoo.co.jp/』

多段階に短縮されたURL(bit.lyで短縮した後にTwitterのt.coで短縮された際など)の場合、各URLがLocationに配列として格納される為、その場合は配列の最後の要素を取得します。

 
カテゴリー:Webサービス, Webシステム開発
タグ:,
2012年10月5日 12時28分
 

関連記事

 

コメントを書く

(C) 自由が丘で働くWeb屋のブログ