[PHP-users 26200] ラージオブジェクトをアップロードした後、読み出し表示ができません

富安 浩 htomiyasu2001 @ ybb.ne.jp
2005年 7月 18日 (月) 16:47:45 JST


はじめまして、みや といいます、よろしくお願いします。

webarenaのホスティングサービスを利用して、postgreとphp 
を使っています。
(PHPは4.3.10, postgre は7.4)
プログラムは「PHP×PostgreSQLで作る最強Webシステム」の記
述を参考にしました。

ラージオブジェクトをアップロードした後、読み出し表示がで
きません。
アップロードしたファイルは画像(jpg)です。
アップロードした後の「oid」とファイルのタイプは正しく表
示されていますので
アップロードが成功したと判断しています。
また、[oid]を指定して削除(pg_lo_unlink)ができます。

下記のスクリプトを実行すると、ブラウザにはリンク切れの画
像のようなものが表示されます。

また、12:のpg_lo_read_all($fd)をコメントアウトするとMESSAGE
: Success
が表示されますので、
11あるいは12行のところでエラーになっているものと推定
しています。
webarenaに質問しましたが、サポート外とのことで返事がいた
だけませんでした。
何か解決のためのヒントをいただけないでしょうか。どうぞよ
ろしくお願いします。



1: $oid=$_REQUEST['oid'];
2: $mtype=$_REQUEST['type'];

3: mb_http_output("pass");
4: header("Content-type:$mtype");

5: $dbh=pg_connect("略");
6: if(!$dbh){
7:   echo "MESSAGE : cannot connect!";
8: }else{
9:  echo "MESSAGE : Success";
10: pg_query($dbh,"BEGIN");
11: $fd=pg_lo_open($dbh,$oid,"r");
12: pg_lo_read_all($fd);

13: pg_lo_close($fd);
14: pg_query($dbh,"COMMIT");

15: pg_close();
16: }



PHP-users メーリングリストの案内