人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: stikky88
●カテゴリ:ウェブ制作
✍キーワード:24 CMS Gd Nucleus PHP
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● hamster001
●20ポイント

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

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

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

http://phpthumb.sourceforge.net/

◎質問者からの返答

hamster001さま

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

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

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

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


2 ● hamster001
●20ポイント

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

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

http://wakka.xiffy.nl/popupimage

http://wakka.xiffy.nl/popupimagenetpbm

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

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

◎質問者からの返答

hamster001さん

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

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

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

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


3 ● tomoyuki28jp
●20ポイント

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

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

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

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

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

以上、ご参考までに。

◎質問者からの返答

>tomoyuki28jpさん

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

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

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

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

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

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

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


4 ● tobeoscontinue
●20ポイント

>したいのですが当方の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を変えるのは可能だと思います。

◎質問者からの返答

>tobeoscontinueさま

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

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

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

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

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

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


5 ● tobeoscontinue
●20ポイント

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は別)

◎質問者からの返答

>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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ