bit.lyの短縮URLをapi使って取得する(PHP)

別のページ(pukiwikiなんですけど)のURLが日本語混じりで長くなってしまい、短縮URLで短くしたいと思ったのですが、そんなプラグインもなさそうで。。。

ただ、やりたいことは、他の人に「このページ見て!」って言いたいだけなので、短縮URLをページの然るべきところに表示できればいいやってことで、だったら、bit.lyのapiでやればいいじゃんって思ったのです。

で、その実装のメモ。晄夏ノートでもどこかに入れようかと思ったけど、デザインすでにガチャガチャしているから、これ以上足したくなくてやめました

まず、bit.lyでアカウント取得して、アカウントID(設定を選ぶと、[ここにでるもの] Account Settings って表示されるやつ)と、API Keyが必要です。

<?php
$long_url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$req="http://api.bit.ly/shorten?login=[ここにアカウント]&apiKey=[ここにAPIKEY]&version=2.0.1&longUrl=".$long_url;
$contents = file_get_contents($req);
if(isset($contents)) {
$url = json_decode($contents, true);
}
?>

これで取得して、あとは表示します。
フォームのほうがいいように思うので

<form action="" method="get">
<input type="text" name="bit" id="bit" value="<?php echo @$url['results'][$long_url]['shortUrl']; ?>" />
</form>
</div>

こんな風に書いたら出来ました。

取り急ぎ詳細よりメモめも。

とかやってみたのですが、日本語が入ってしまうとうまくいかなくて、URLエンコードしたりしてもうまくいかなくて、

PHPで、「Bit.ly」のAPIを使ってURLを短縮する。

こちらのやり方で解決しました。a-26.gif