[PHP-users 4890] ラージオブジェクトの書き込み

Kazuma HOSHI php-users@php.gr.jp
Mon, 21 Jan 2002 22:31:09 +0900


こんにちは。星@Ascent,OSAKA です。

ラージオブジェクトの書き込みがうまくいかないのです。済みませんが
どこが悪いのか指摘した抱ければ幸いです。

マシン状況。
RedHat7.2J on i686
Apache 1.3.22
PHP 3.0.18-i18-2
PHP 4.1.1

データベースの状況。
uppict=# \d picts
                Table "picts"
 Attribute |         Type          | Modifier
-----------+-----------------------+----------
 obj       | oid                   |
 title1    | character varying(25) |

uppict=# \z
 Access permissions for database "uppict"
 Relation |       Access permissions
----------+--------------------------------
 picts    | {"=","nobody=arwR","kaz=arwR"}

//////////up.php3
<html>
<body>
<form enctype="multipart/form-data" action="up2.php3" method="post">
    <input name="userfile" type="file">
    <input type="submit" value="アップロード">
</form>
</body>
</html>

//////////up2.php3
<?
function connectDB( $connectDbName ) {
    global $dbhandle;
	$dbhandle = pg_connect( "host = localhost port = 5432 dbname =$connectDbName " );
	if( $dbhandle != 0 ){
		print("データベースに接続完了");
	}
	if( $dbhandle == 0 ){
		print("データベースに接続できません");
		exit;
	}
}
	print "<A HREF=\"up.php3\">ファイルの選択に戻る</A>\n";
    print "<UL>\n";
    print "<LI>\$userfile = $userfile\n";
    print "<LI>\$userfile_name = $userfile_name\n";
    print "<LI>\$userfile_type = $userfile_type\n";
    print "<LI>\$userfile_size = $userfile_size\n";
    print "</UL>\n";

	connectDB( uppict );
	$oid = pg_locreate( $dbhandle );
	$lobj = pg_loopen( $dbhandle, $oid, "w" );  // <-ここでエラー
	$fd = fopen( $userfile, "r" );
	$img = fread( $fd, filesize( $userfile ) );
	pg_lowrite( $lobj, $img );
	pg_loclose( $lobj );
?>

/////////エラー内容

ファイルの選択に戻る 
$userfile = /tmp/phpsQ3Pda 
$userfile_name = D:\\Documents and Settings\\hoshi\\デスクトップ\\標準書式\\御見積書.xls 
$userfile_type = application/vnd.ms-excel 
$userfile_size = 37376 
データベースに接続完了
Warning: Unable to open PostgresSQL large object in /home/kaz/public_html/test/up2.php3 on line 26

Warning: 0 is not a PostgresSQL large object index in /home/kaz/public_html/test/up2.php3 on line 29

Warning: 0 is not a PostgresSQL large object index in /home/kaz/public_html/test/up2.php3 on line 30

////////
こんな感じです。
どうも、初期設定がまずいと思うのですが。ちなみに"御見積書.xls"は37kBです。

よろしくお願いいたします。