画像をキャッシュするためのPHPコード

アマゾンの商品を紹介するツールとして便利なものに「lilbox」があります。それには商品の画像をキャッシュする機能があります。

ページを表示するたびにアマゾンに商品画像をリクエストしていたら表示に時間がかかってしまいます。そこで一度読み込んだ画像を自分のサーバーにキャッシュしておくことで同じ商品を表示するときはアマゾンからではなく自分のサーバーから画像をすばやく呼び出すことができるというわけです。

画像のキャッシュというのはどうやってするのかこれまでわからなかったのですが、「lilbox」のコードを見てみるとテキスト同様に画像をキャッシュできるというのがわかったので記録しておきます。

キャッシュといっても拡張子「 .jpg 」の画像ファイルを作成しているだけなんですね。それも画像のデータもテキスト同様に fopen( ) やfwrite( ) などで扱えるようです。

「lilbox.txt」内の該当部分をわかりやすく書いてみました。

まず、fopen( ) で保存したい画像を開きます。開いた $remoteImage をfread( ) で一行ずつ読み込んでいきます。この作業を $feof( ) でデータの最後まで繰り返します。

次に$localUrl(ローカルでの保存ファイル名)を書き出しモードで開きます。そこに先ほどの$imgData を書き出す(書き込む)だけのようです。

これでローカルに画像ファイルが作られます。意外と簡単!

class "assetFooter" の内容がここに入ります

trackback

trackback url:

comments

このエントリーへのコメントはまだありません。

(必須)
保存:

管理人

川崎在住のアフィリエイター。 最近はアフィリエイトよりもWebデザインにはまっています。コロコロとサイトのデザインを変えるのがもっぱらの趣味。PHPも現在独学で勉強中。
Webデザインとプログラムという二つの武器を自在に操り、アフィリエイトでそれなりの収入を得ることが目標です。それなりっていうのがポイント!


グループサイト

はいせんす.net

インテリアと雑貨を紹介しているアフィリエイトサイト。

Paolog

普通の日記です。おもにデジカメや携帯で撮った写真をのせています。

Rakumash

楽天Webサービス+Ajaxでつくった商品検索サイト。永遠のベータ版!?

Amazmash

こちらはAmazon Webサービス+PHPで作成したサイト。こっちも永遠のベータ版かも。