attach.inc.php/ref.inc.php †
サマリ | attachプラグインに一括添付とサムネイル生成機能を追加 |
リビジョン | 1.0 |
対応バージョン | 1.4.2 |
投稿者 | ARAI? |
投稿日 | |
概要 †
ページに添付されたデジカメ画像をExif情報の一部とともに一覧表示するプラグインを作成中なのですが、標準のattachだと、
- 1度に1ファイルしか添付出来ないので、10枚以上も添付しようとすると面倒
- openfileで画像をimgタグ参照すると、width/heightで表示サイズは制御できるものの、常にフルサイズのファイルが出力されるため、転送量の点ではあまり良くない
というのが気になったので、少し改造してみました。
- Tar(Tar+GzでもなければTar+Bzip2でもない)アーカイブファイルを展開して、収められたファイルを全て添付する
- 縮小/低画質化したサムネイルを生成(要GD)
の2点です。
また、サムネイル生成改造に対応してrefプラグインにも手を入れてみました。
ダウンロード †
→ attach・refプラグイン改造 http://m-arai.s41.xrea.com/closet/20.html
使い方 †
Tarアーカイブ(拡張子.tar)一括添付の際には、「UnTar」をチェックする。
コメント †
- たらこせる
使わせていただきました。が、paintプラグインで吐き出される#ref(hoge.jpeg,wrap,around)を表示してくれませんでした。
- ARAI?
拡張子が'jpeg'の場合を考えていませんでした。
--- attach.inc.php 4 Dec 2003 09:38:50 -0000 1.7
+++ attach.inc.php 19 Dec 2003 23:20:51 -0000
@@ -736,7 +736,8 @@
// for japanese (???)
$filename = htmlspecialchars(mb_convert_encoding($this->file,'SJIS','auto'));
- switch (( $type = strtolower(substr($filename,-3)))) {
+ switch ( $type = strtolower(substr($filename,strrpos($filename,'.')+1))) {
+ case 'jpeg':
case 'jpg':
$src = imagecreatefromjpeg($this->filename);
break;
@@ -776,6 +777,7 @@
}
switch ( $type ) {
+ case 'jpeg':
case 'jpg':
imagecopyresampled( $dst, $src, 0, 0, 0, 0, $dw, $dh, $sw, $sh);
imageinterlace( $dst, 1);
これで表示されると思います。御指摘ありがとうございます。
- たらこせる
対応ありがとうございます。大丈夫なようです。exifshowcaseともども使用させていただいてるんですが、Exifデータ編集について不慣れなのでこれから覚えてみようと思います。
- まるぱ?
自動的に縮小画像を作ってくれる機能が欲しかったので、非常にうれしいです:) 最以前僕がどこかに書いた'info'オプションも取り込んでいただいているようで、感激しました!ありがたく使わせてもらいますm(__)m
- まるぱ?
jpg以外のサムネイルの作成にimagecopyresized()が使われていますが(attach.inc.php)、これだとサムネイルが汚くなってしまいました。jpgと同じようにimagecopyresampled()を使った方がいいのではないかと思うのですが、いかがでしょうか。
- ARAI?
不案内なところでやった改造なので穴も結構あると思いますが、お役に立っていれば幸いです。imagecopyresizedについては、何か理由があった筈ですけど、思い出せません⌣。記憶が甦ったら再検討してみます。
ところで、'info'オプションについてはオリジナルのrefプラグインそのままですよ。
- まるぱ?
じゃあinfoオプションは思いっきり勘違いでした(^^;;どうも失礼しましたm(__)m とりあえずうちではimagecopyresampledに変更したら、縮小後も綺麗に表示されて幸せになってます:) もしかすると環境によってはうまく動かなかったりするのかもしれませんが・・・
- るく?
変な質問すみません、使ってみたいのですが導入方法で迷っています。この差分ファイルというのは何かのツールに読み込ませたりして使うのでしょうか? もしかして手動書き換え?(怖
- るく?
見てみます!ログ汚してごめんなさい
- xpoint?
はじめて書き込みさせていただきます.TARファイル内に日本語表記のファイル名
があった場合,文字化けしてしまいます.また文字化けファイルを削除しようとしても削除できないので,以下の様に修正しましたが,問題あるでしょうか...
よろしくお願いします.
function untar( $tname, $odir)
....
$files[$cnt ]['tmpname'] = $tname;
$files[$cnt++]['extname'] = mb_convert_encoding($name,'EUC','auto');// 修正
}
}
fclose( $fp);
return $files;
}
- ARAI?
その対処で問題はないでしょう。同等の対策がattach・refプラグイン改造に置いてある版には施されています。が、そこにも書いてありますが、2バイトコードファイル名はあまりオススメしません。
- xpoint?
ありがとうございます.2バイトコードの件了解したうえで,すごくローカルなところで運営しているので,よしとした上で使用します.ありがとうございました.
- u?
refの方で、titleを指定しても無視されるようになったんですが、仕様なんでしょうか?
- ARAI?
直しました。ご指摘ありがとうございます。
- u?
すいません返信遅れました。ありがとうございます。