fc2bm-logo

FC2のブックマークサービスは、見る限り画像でしかブックマークの登録件数を取得できないみたいなので

数字で扱いたい人のためにプログラムを書いてみた。

使ったのは『PEAR::HTTP_Request』です。

意外と簡単にできた。

順序は

①FC2のブックマーク登録人数を画像で表示。

②FC2ブックマークの画像のURLを取得。

③それを数字だけの形にし終了。

<?php
require_once “HTTP/Request.php“;
$req =& new HTTP_Request(”http://bookmark.fc2.com/image/users/任意のURL“);
$req->sendRequest();
$location = $req->getResponseHeader(location);
$fc2 = str_replace(”http://bookmark.fc2.com/icons/”,”",”$location”);
$fc2 = str_replace(”.png”,”",”$fc2″);
$pattern = “^0+”;
$fc2 = mb_ereg_replace(”$pattern”,”",”$fc2″);
echo $fc2;
?>

順序としては、画像にPEAR::HTTP_Requestでアクセスして『レスポンスヘッダ』を取得。

ためしにブラウザで

http://bookmark.fc2.com/image/users/任意のURL

にアクセスしたときに

HTTP/1.x 302 Found
Date: Fri, 20 Mar 2009 13:46:17 GMT
Server: Apache/2.0.59 (Unix) PHP/5.1.6 mod_perl/2.0.2 Perl/v5.8.3
X-Powered-By: PHP/5.1.6
P3P: CP=”NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM”
Location: http://bookmark.fc2.com/icons/00014.png
Content-Length: 0
Connection: close
Content-Type: text/html
Content-Language: en

となっていて『Location』に画像のURLを発見!

ということで$req->getResponseHeader(location);

で画像のURLを取得して後はURLを『~~~~.png』みたいな形に削って

~~~~~の部分を取得して終わり。

動かない場合は『PEAR::HTTP_Request』がインストールされているか確認してみてください。