php4.2.4でNucleus CMS v3.24を利用しています

画像をアップロードしてアイテムに追加したときに
画像のサイズが大きいときにサムネイルを表示
したいのですが当方のphp GD Version が1.6.2 の
ためThumbnail 1.6のプラグインが利用できません
上記の条件で何かサムネイルを生成できるプラグインはありませんでしょうか
ずばり解決していただいた方には500ポイントさしあげます

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/04/07 13:55:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:hamster001 No.1

回答回数474ベストアンサー獲得回数14

ポイント20pt

Thumbnail3.0(静的生成)の方はどうでしょうか?

http://phpthumb.sourceforge.net/#download

同種のプラグインに、こういうのもあるようです。

http://phpthumb.sourceforge.net/

id:stikky88

hamster001さま

ご回答ありがとうございます

GD Version が1.6.2で利用できるもので

ありませんでしょうか、、、

上記は2つともGDのバージョンが2.0以上必要なようです

2007/03/31 14:23:33
id:hamster001 No.2

回答回数474ベストアンサー獲得回数14

ポイント20pt

英語サイトから見つけました。

どちらかが動くといいのですが。

http://wakka.xiffy.nl/popupimage

http://wakka.xiffy.nl/popupimagenetpbm

後者の方はGDを使ってなくて、netpbmというライブラリを使っています。

このライブラリはrootでなくともインストールできるようです。

id:stikky88

hamster001さん

ご丁寧に再度おしらべいただきありがとうございます!

ご教授いただいた2つはどちらもimagemagickをひつようとするようで、、、

対象サーバーちょっとしょぼしょぼなサーバーでimagemagickも入ってないんです(泣

画像を縮小表示するような感じでもいいんですけどなんかないもんですかねー

2007/03/31 18:58:12
id:tomoyuki28jp No.3

回答回数5ベストアンサー獲得回数0

ポイント20pt

GDでサムネイルを表示するプログラムを追加するということでしたら、下記のサイトが参考になるかと思います。

http://noongoro.main.jp/note/note0052.html

http://www.sakura-pc.jp/php/gd.shtml

単にサムネイルを表示したいのであれば、サムネイル画像を生成せずとも、HTMLタグだけでサムネイルの表示が可能です。

http://www.htmq.com/html/img.shtml

以上、ご参考までに。

id:stikky88

>tomoyuki28jpさん

ご回答ありがとうございます!

上から2つめのページが参考になりました

phpでプログラムを書いたことはないのですが

Thumbnail 1.6系のpluginで使われている

ImageCreateTruecolor等gd2.0に依存する関数を書き換えればつかえるのかな、、、とか

ちょっとタグ等で自分で作成するのではなく、プラグインで利用可能な物をさがしているので、もうちょっとまってみます

大変参考になりました ありがとうございます

2007/04/01 08:48:55
id:tobeoscontinue No.4

回答回数220ベストアンサー獲得回数59

ポイント20pt

>したいのですが当方のphp GD Version が1.6.2 の

>ためThumbnail 1.6のプラグインが利用できません

Thumbnail 1.6とは

http://japan.nucleuscms.org/wiki/plugins:thumbnail?do=show

のNP_Thumbnail.phpのことでしょうか。

ソースを見た感じではバージョンによって弾いてるところは見当たらなかったのですが、利用できないとはGIFが使えないということではないでしょうか。


GIFは特許の問題かと思いますがGD1.6以前とGD2.0.28以降でないとGIFは使えないようです。

http://jp.php.net/gd

よってGD Version が1.6.2ではGIFが使えません。

何かのツールでGIFからPNGに変換すればNP_Thumbnail.phpが使えるのではないでしょうか。


GIFが使えるかどうかはphpinfo()でgdの項目をみればわかりますが

GIF Read SupportになっていればPNGで出力するようにNP_Thumbnail.phpを変えるのは可能だと思います。

id:stikky88

>tobeoscontinueさま

丁寧にお調べいただきありがとうございます!

ご呈示されたURLのNP_Thumbnail.php 1.6なのですが当方でプラグインをインストールし、jpg画像をアップロードし、

無名のポップアップ画像タグをアイテムに挿入したのですが、サムネイルが生成されない状況です、、、、

フォーラムをみると似たような状況の方がいらっしゃって、php GD Versionが2.0以下で

だめだったとのようなことが書いてありましたので、、、

利用できればNP_Thumbnail.phpでも問題ないのですがなにか他に原因となる要素があるんですかね、、、、ほんと困っています

2007/04/02 18:16:50
id:tobeoscontinue No.5

回答回数220ベストアンサー獲得回数59

ポイント20pt

stikky88さんのおっしゃるThumbnail 1.6のプラグインとは何処のものなのでしょう。ソースがわかれば何か先にすすめるのではと思うのですが。


フォーラムの方は未チェックでした。読んだかんじではNucleusはv3あたりで画像の保存場所がかわったようでNP_Thumbnail.php 1.6では機能しないようです(失礼しました)。NP_Thumbnail.php 3.0の方で試してみて下さい。こちらはMySQLへ格納します。


>php GD Versionが2.0以下でだめだったとのようなことが書いてありましたので、、、

しかし根拠は書いてません。NP_Thumbnail.php 3.0でもこれといってGD Version 2.0の機能を使っているようにも見えません。GIFが使えないという意味なら同意しますが、GIFを使わないのにGD Version 2.0でなければならないとは思えません。


下記コードを試してみてはどうでしょう

<?php
// ファイル
$f = $_GET['f'];
$w = $_GET['w'];
$h = $_GET['h'];
$image = NULL;

$info = getimagesize($f);
if ($info) {
  list($width, $height, $mime) = $info;
  if ($mime == IMG_PNG)
    $image = imagecreatefrompng($f);
  else if ($mime == IMG_JPG)
    $image = imagecreatefromjpeg($f);
  if ($width == 0 || $height == 0) {
    $width = $imagesx($image);
    $height= $imagesy($image);
} }
if ($image == NULL) {
  $f = "VALID.png";
  $info = getimagesize($f);
  list($width, $height, $mime) = $info;
  $image = imagecreatefrompng($f);
}

// 再サンプル
$dst = imagecreatetruecolor($w, $h);
imagecopyresampled($dst, $image, 0, 0, 0, 0, $w, $h, $width, $height);
imagedestroy($image);

// 出力
header('Content-type: image/png');
imagepng($dst);
imagedestroy($dst);
?>

これをコピペしてresize.phpという名前(違ってもいい)でアップします。

使い方は

resize.php?f=画像ファイル&w=80&h=50

としてアクセスすると画像ファイルをwidthが80、heightが50に縮小したpngファイルを出力します。(画像ファイルへのパスはresize.phpからの相対パスになりますので)


NP_Thumbnail.phpも同じようにしています。これで縮小画像が表示されるならNP_Thumbnail.php v3.0は動くと思うのですが(GIFは別)

id:stikky88

>tobeoscontinueさん

ご返信が遅れてしまって大変申し訳ございません!

非常に丁寧にご説明いただき、またサンプルコードまで示していただき非常にありがたいです!

早速サンプルコードの方をchk.phpという名前でサーバーにアップし、jpgファイルをご指示いただいた形で引数に与えてみたのですが

どうもエラーになってしまうようです、、、

(エラーは以下のようなものでした)

Warning: imagecreatetruecolor(): requires GD 2.0 or later in /home/www/public_html/chk.php on line 27

Warning: imagecopyresampled(): requires GD 2.0 or later in /home/www/public_html/chk.php on line 28

Warning: Cannot add header information - headers already sent by (output started at /home/www/public_html/chk.php:27) in /home/www/public_html/chk.php on line 32

Warning: imagepng(): supplied argument is not a valid Image resource in /home/www/public_html/chk.php on line 33

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/www/public_html/chk.php on line 34

2007/04/06 07:52:59
  • id:tobeoscontinue
    すいません。チェックが甘かったです(いつもながら)。
    imagecreatetruecolor()はGD2が必要でした。

    imagecreatetruecolorを
    imagecreateに変えて再度やってもらえますか。
    次のimagecopyresampledにはバージョンの記述はなかったので動くのではと思うのですが。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません