PukiWiki
背景 †
サムネール出力のために作りました。
デジカメ写真をattachrefやaddlineでガンガン貼り付けして、知人に公開していたんですが、refの縮小表示だと、でっかいファイルをそのまま読み込むため、重たいっっ。デジカメの写真、1枚数MByteが何十枚もあると....。ってことで、縮小してから出力したい、と。
当然サーバーに負荷がかかります。大勢が閲覧しに来るページだとやばいかも。とはいえ、refで大きなファイルを無駄に送りまくるよりは縮小してから送った方がましかな。CPUの性能次第ですね。
仕様 †
インストール †
ダウンロード †
GDライブラリ有効化 †
- php.iniの
extension=php_gd2.dll
行がコメントアウトされていたら、コメントアウトをやめて有効にする。
おまけ †
- refのインライン表示からresizeimageを呼び出すようにしたもの。
ref.inc.php
- かなりいい加減だったのがちょっとまともになりました。defineでresizeimage使用/不使用切り替えできます。(2007-09-23)
使用例 †
TODO †
- gdライブラリが無い(エラー表示のjpegが生成できない)場合はテキストでエラーを出力(dieさせる)必要がある。
Version history †
- 1.0 2007-07-30
- 1.1 2007-07-30
- check_readable処理追加
- テキストをjpegで出力する部分を関数化。
- 1.11 2007-07-30
- デフォルトサイズが0になっていたので修正
- ゴミコード削除。(BMPが使えなくて断念したときのコードが残っていたりした^^;)
- エラー処理追加
- 1.12 2007-11-20
- キャッシュ作成機能追加
- DATA_HOME . 'thumb/'(RESIZEIMAGE_CACHE_DIRで定義)にキャッシュファイルを作成する。
- "元のファイル名_幅_高さ_品質"というファイル名にて保存される。
- キャッシュ作成に失敗すると、以前のバージョン同様毎回生成する。エラー出力をしないので、フォルダ作成を忘れると気付かないかも。ファイル名がOS制限を超えた場合はこれで救われると思う。(未検証)
- 1.13 2007-11-20
- 不具合修正
- キャッシュ使用時に作成していない変数を解放しようとしていた。
- 1.20 2007-11-21
resizeimage.inc.php.1.20
- httpヘッダ出力にContent-Length追加
- httpヘッダ出力にfilename追加
- inlineタイプでの仕様追加。
- 書式 &resizeimage(string file, [int width, [int height, [int quality[, boolean keepaspectratio]]]]);
- サイズのデフォルト値を''にしておくと、デフォルト=オリジナル画像のサイズ(縦、横それぞれ)となるようにした。
- 1.21 2007-11-21