[PHP-users 6773] ラージオブジェクト画像の縮小について。

Oh_java php-users@php.gr.jp
Tue, 9 Apr 2002 19:18:34 +0900


This is a multi-part message in MIME format.

------=_NextPart_000_000B_01C1DFFB.578F9EE0
Content-Type: text/plain;
	charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

すみません、お世話になります。
私はoh_javaことオザワともうします。
サーバーOSはTurboLinux、PHPのヴァージョンは4です。

現在PostgreSQLデータベースに画像ファイルをラージオブジェクト型で格納しており
ます。
そのデータをブラウザにてサムネイル表示させてあげたいのです。
しかし、実際のデータを<img>タグのWidth,Heightで小さく指定してあげるだけでは
見た目は縮小されますが通常の画像をOPENしているのと同じで
開くたびに重いままです。

そこで調査の結果imagecopyresized関数を使用すれば
画像が縮小できるようだということまで突き止めました。
早速getimagesize関数でWidth,Heightを求めようとしたのですが、
そこで既につまづいてしまったんです。

getimagesize関数には表示したい画像のURLを指定すればいいということ
だったので、

===================================
$image = "image_show.php3?oid=$oid&type=$type";
$imgsize = getimagesize($image);
===================================

と、PostgreSQLよりoidを指定して画像をブラウザに吐き出す際のURLを指定し、
そのURLを関数にかけてみたのですが、
------------------
Warning: Unable to open image.php3?oid=19329&type=image/gif
in /home/httpd/html/****/thumbnail.php3 on line 8
------------------
というエラーになってしまいます。

実際のimage_show.php3の中身は以下のとおりです。
===================================
<?
  header("Content-type: $type");

/*  データベースgalleryに接続  */
$conn = pg_Connect("","","test");
if(!$conn){
 echo"エラーが発生しました:データベースに異常があります \n";
 exit;
}
  pg_exec("begin");
  $fd = pg_loopen($conn, $oid, "r");
  pg_loreadall($fd);
  pg_loclose($fd);
  pg_exec("end");
  pg_close($con);
?>
===================================
ちなみに
$imageをパスとして直接<A>タグや<img>タグで囲って使用した場合には
正常にデータをブラウザ上に表示することができました。

私のプログラムは何処が誤っているのでしょうか。
ご指摘していただけるかたがおりましたら幸いです。
もしくは私が希望するのと同様の処理を実現させているかたが
おられましたら助言を下さい。
よろしくお願いいたします・・・。

@@@@@@@@@@@@@@@@@@
(U・ω・U) Oh_Java (U・ω・U)
ohjava@phoenix-c.or.jp
@@@@@@@@@@@@@@@@@@

------=_NextPart_000_000B_01C1DFFB.578F9EE0
Content-Type: text/html;
	charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-2022-jp" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.3314.2100" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT =
size=3D2>=1B$B$9$_$^$;$s!"$*@$OC$K$J$j$^$9!#=1B(B</FONT></DIV>
<DIV><FONT=20
size=3D2>=1B$B;d$O=1B(Boh_java=1B$B$3$H%*%6%o$H$b$&$7$^$9!#=1B(B<BR>=1B$B=
%5!<%P!<=1B(BOS=1B$B$O=1B(BTurboLinux=1B$B!"=1B(BPHP=1B$B$N%t%!!<%8%g%s$O=
=1B(B4=1B$B$G$9!#=1B(B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>=1B$B8=3D:_=1B(BPostgreSQL=1B$B%G!<%?%Y!<%9$K2hA|%U%!%$%k$r%i!<%=
8%*%V%8%'%/%H7?$G3JG<$7$F$*$j$^$9!#=1B(B<BR>=1B$B$=3D$N%G!<%?$r%V%i%&%6$K=
$F%5%`%M%$%kI=3D<($5$;$F$"$2$?$$$N$G$9!#=1B(B<BR>=1B$B$7$+$7!"<B:]$N%G!<%=
?$r=1B(B&lt;img&gt;=1B$B%?%0$N=1B(BWidth,Height=1B$B$G>.$5$/;XDj$7$F$"$2$=
k$@$1$G$O=1B(B<BR>=1B$B8+$?L\$O=3DL>.$5$l$^$9$,DL>o$N2hA|$r=1B(BOPEN=1B$B=
$7$F$$$k$N$HF1$8$G=1B(B<BR>=1B$B3+$/$?$S$K=3DE$$$^$^$G$9!#=1B(B</FONT></D=
IV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>=1B$B$=3D$3$GD4::$N7k2L=1B(Bimagecopyresized=1B$B4X?t$r;HMQ$9$l$=
P=1B(B<BR>=1B$B2hA|$,=3DL>.$G$-$k$h$&$@$H$$$&$3$H$^$GFM$-;_$a$^$7$?!#=1B(=
B<BR>=1B$BAaB.=1B(Bgetimagesize=1B$B4X?t$G=1B(BWidth,Height=1B$B$r5a$a$h$=
&$H$7$?$N$G$9$,!"=1B(B<BR>=1B$B$=3D$3$G4{$K$D$^$E$$$F$7$^$C$?$s$G$9!#=1B(=
B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>getimagesize=1B$B4X?t$K$OI=3D<($7$?$$2hA|$N=1B(BURL=1B$B$r;XDj$9=
$l$P$$$$$H$$$&$3$H=1B(B<BR>=1B$B$@$C$?$N$G!"=1B(B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT =
size=3D2>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<BR>$image =3D=20
"image_show.php3?oid=3D$oid&amp;type=3D$type";<BR>$imgsize =3D=20
getimagesize($image);<BR>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>=1B$B$H!"=1B(BPostgreSQL=1B$B$h$j=1B(Boid=1B$B$r;XDj$7$F2hA|$r%V=
%i%&%6$KEG$-=3DP$9:]$N=1B(BURL=1B$B$r;XDj$7!"=1B(B<BR>=1B$B$=3D$N=1B(BURL=
=1B$B$r4X?t$K$+$1$F$_$?$N$G$9$,!"=1B(B<BR>------------------<BR>Warning: =

Unable to open image.php3?oid=3D19329&amp;type=3Dimage/gif <BR>in=20
/home/httpd/html/****/thumbnail.php3 on line=20
8<BR>------------------<BR>=1B$B$H$$$&%(%i!<$K$J$C$F$7$^$$$^$9!#=1B(B</FO=
NT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>=1B$B<B:]$N=1B(Bimage_show.php3=1B$B$NCf?H$O0J2<$N$H$*$j$G$9!#=1B=
(B<BR>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<BR>&lt;?<BR>&nbsp;=20
header("Content-type: $type");<BR>&nbsp; <BR>/*&nbsp; =
=1B$B%G!<%?%Y!<%9=1B(Bgallery=1B$B$K@\B3=1B(B&nbsp;=20
*/<BR>$conn =3D=20
pg_Connect("","","test");<BR>if(!$conn){<BR>&nbsp;echo"=1B$B%(%i!<$,H/@8$=
7$^$7$?=1B(B:=1B$B%G!<%?%Y!<%9$K0[>o$,$"$j$^$9=1B(B=20
\n";<BR>&nbsp;exit;<BR>}<BR>&nbsp; pg_exec("begin");<BR>&nbsp; $fd =3D=20
pg_loopen($conn, $oid, "r");<BR>&nbsp; pg_loreadall($fd);<BR>&nbsp;=20
pg_loclose($fd);<BR>&nbsp; pg_exec("end");<BR>&nbsp;=20
pg_close($con);<BR>?&gt;<BR>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<BR>=1B$B$A$J=
$_$K=1B(B<BR>$image=1B$B$r%Q%9$H$7$FD>@\=1B(B&lt;A&gt;=1B$B%?%0$d=1B(B&lt=
;img&gt;=1B$B%?%0$G0O$C$F;HMQ$7$?>l9g$K$O=1B(B<BR>=1B$B@5>o$K%G!<%?$r%V%i=
%&%6>e$KI=3D<($9$k$3$H$,$G$-$^$7$?!#=1B(B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>=1B$B;d$N%W%m%0%i%`$O2?=3Dh$,8m$C$F$$$k$N$G$7$g$&$+!#=1B(B<BR>=1B=
$B$4;XE&$7$F$$$?$@$1$k$+$?$,$*$j$^$7$?$i9,$$$G$9!#=1B(B<BR>=1B$B$b$7$/$O;=
d$,4uK>$9$k$N$HF1MM$N=3DhM}$r<B8=3D$5$;$F$$$k$+$?$,=1B(B<BR>=1B$B$*$i$l$^=
$7$?$i=3Du8@$r2<$5$$!#=1B(B<BR>=1B$B$h$m$7$/$*4j$$$$$?$7$^$9!&!&!&!#=1B(B=
</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>
<DIV><FONT =
size=3D2>=1B$B!w!w!w!w!w!w!w!w!w!w!w!w!w!w!w!w!w!w=1B(B<BR>(U=1B$B!&&X!&=1B=
(BU)=1B$B!!=1B(BOh_Java=1B$B!!=1B(B(U=1B$B!&&X!&=1B(BU)<BR><A=20
href=3D"mailto:ohjava@phoenix-c.or.jp">ohjava@phoenix-c.or.jp</A><BR>=1B$=
B!w!w!w!w!w!w!w!w!w!w!w!w!w!w!w!w!w!w=1B(B</FONT></DIV></FONT></DIV></BOD=
Y></HTML>

------=_NextPart_000_000B_01C1DFFB.578F9EE0--