<?php
// Cache_Liteのプログラムを読み込む
require_once 'Cache/Lite.php';
$dir = "/home/ユーザー名/caraldo.net/public_html/blog/sample/tmp";
if (!file_exists($dir)) {
mkdir($dir, 0700);
echo "キャッシュ用のディレクトリを作成しました";
}
// 設定項目
$cacheOptions = array (
'cacheDir' => './tmp/', // キャッシュが保存される場所
'lifeTime' => 3600, // 指定した秒数はキャッシュを使う、nullにすると無期限
);
$username = '66103531';
$url = "http://twitter.com/statuses/user_timeline.xml?id=" . $username . "&count=20";
$cacheId = $url;
//Cache_Liteオブジェクト生成
$objCache = new Cache_Lite($cacheOptions);
//指定したIDの有効なキャッシュデータがキャッシュディレクトリに存在するかどうかを返す。
if ($cache = $objCache->get($cacheId)) {
//キャッシュデータを変数にセット
$xmlStr = $cache;
echo "<strong>" . date("y/m/d h:i:s", $objCache->lastModified()) . "キャッシュから表示してるよ</strong><br />";
} else {
// キャッシュがなかったとき、lifeTimeより古くなっているときはここで処理
$xmlStr = @file_get_contents($url);
//キャッシュ保存
$objCache->save($xmlStr,$cacheId);
echo "<strong>API叩いたよ</strong><br />";
}
//simplexml_load_fileから取得の仕方に応じて変更
$rss = simplexml_load_string($xmlStr);
//以下は前回と一緒
//まずは発言を表示する前に、アイコンとプロフィールを表示します。
echo "<img src=\"" . $rss->status->user->profile_image_url . "\">";
echo $rss->status->user->description;
foreach ($rss->status as $i) {//配列$rss->status as 変数名$i
//色々textをいじくりまわすのでとりあえず変数に代入して扱いやすくしてみます
$val = $i->text;
//文字列内のURLにリンクを貼る - phpspot
//http://phpspot.net/php/pg%95%B6%8E%9A%97%F1%93%E0%82%CC%82t%82q%82k%82%C9%83%8A%83%93%83N%82%F0%93%5C%82%E9.html
$val = ereg_replace("(http)(://[[:alnum:]\S\$\+\?\.-=_%,:@!#~*/&]+)","<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$val);
//@で始まるユーザー名もリンクに
$val = ereg_replace("(@)([[:alnum:]\S\$\+\?\.-=_%,:@!#~*/&]+)","<a href=\"http://twitter.com/\\2\" target=\"_blank\">\\1\\2</a>",$val);
//twitpicだったらサムネイルに
$val = ereg_replace("(>)(http://twitpic.com/)([[:alnum:]\S\$\+\?\.-=_%,:@!#~*/&]+)(</a>)","><img src=\"http://twitpic.com/show/mini/\\3\" /></a>",$val);
echo "<p>" . $val . "<br />";
echo "<a href=\"http://twitter.com/" . $i->user->screen_name . "/status/" . $i->id ."\">";
echo date( "Y年m月d日H時i分", strtotime( $i->created_at ) );
echo "</a>";
echo "</p>";
}
?>
Webディレクター的な事やってます!iPhone楽しくて仕方ない!マラソン・ロードバイクで肉体改造計画中!そういやフットサルもやってました、でも一番好きなのは漫画です㌰㌰⋋( 'Θ')⋌㌰㌰Webディレクター新聞 紙が更新されました! http://t.co/Yx6BSJEe ▸ 本日トップニュースを提供してくれたみなさん: @canadammanews
2012年02月04日22時46分
10.0 kmのランを走り終えました。Nike+ GPSによるペースは5'13"/km、タイムは52:09でした。 #nikeplus
2012年02月04日21時12分
ナミのたすけて、ヒルルクの桜、アラバスタの最後のX印、ロビン奪回、名シーン多すぎだろ。
ブラブラブラウジング : ワンピースの名シーンは「残念、ハズレ」だよな http://t.co/vdQiqVP9
2012年02月04日04時36分
Webディレクター新聞 紙が更新されました! http://t.co/Yx6BSJEe ▸ 本日トップニュースを提供してくれたみなさん: @raku214
2012年02月03日22時46分
みんな入れといて下さい!通話代を無料に!iPhone/Android間でも無料通話出来る厳選6アプリ! http://t.co/m7zfnxdU
2012年02月03日15時52分
“現役飼育員の私がDB風に動物に戦闘力を当てはめていく。:キニ速 気になる速報” http://t.co/9YakJpt6
2012年02月03日14時13分
みんな入れといて下さい!
通話代を無料に!iPhone/Android間でも無料通話出来る厳選6アプリ!
http://t.co/m7zfnxdU
2012年02月03日12時41分
“超太っ腹!あのトイカメラアプリ全3種類が2月5日まで無料!iPhoneでいっぱい写真を撮って見ましょう! | favLife with iPhone” http://t.co/K3Bkp4Kz
2012年02月03日10時26分
グーグルマイマップってアプリ使いこなしたらかなり便利そう、ただできること多すぎてよく分からん
2012年02月03日01時14分
Android OS で最も広く利用されているバージョンは? http://t.co/C0670jwl
2012年02月03日01時07分
CSS3 Mobile Packの動画での説明!凄さが良く分かる。 / “Fireworks Tips and Tricks - CSS3 Mobile Packを使ってみよう! | Adobe TV” http://t.co/Kap7bqkf
2012年02月03日00時47分
“css3_mobile_pack.html” http://t.co/qH16AZNi
2012年02月03日00時36分
“シンプルでスマートなベクターアイコンパック「Free Vector Web Icons (91 Icons)」 | DesignDevelop” http://t.co/Nbxg8ZzT
2012年02月03日00時34分
CSS3は奥が深い! / “【スマホ用ページ】低解像度、高解像度端末のどちらでもくっきり綺麗に表示しつつ、幅ぴったりにする HTML テンプレート。 (フェンリル | デベロッパーズブログ)” http://t.co/V99lCzMe
2012年02月03日00時23分
Webディレクター新聞 紙が更新されました! http://t.co/Yx6BSJEe ▸ 本日トップニュースを提供してくれたみなさん: @raku134
2012年02月02日22時46分
“2011年に日本で売れたiPhoneアプリのまとめ:スマートフォン&ソーシャル@trendism:ITmedia オルタナティブ・ブログ” http://t.co/RRt6JFeQ
2012年02月02日21時32分
“エンジニアのためのUX入門” http://t.co/ZIS8zIdT
2012年02月02日21時29分
“納期間近でIEで崩れてる! そんな時にも慌てないCSS開発のワークフロー | コリス” http://t.co/c6CKTYSx
2012年02月02日21時27分
Webディレクター新聞 紙が更新されました! http://t.co/Yx6BSJEe ▸ 本日トップニュースを提供してくれたみなさん: @kibamas @camplifeiscrazy @miyayou
2012年02月01日22時46分
“vidify: すごいぞ!カメラロールにため込んだ動画がノリノリのビデオクリップに神変化する!” http://t.co/FbejeXUo
2012年01月31日14時37分