[PHP-users 24370] ラージオブジェクトでの画像登録
ume
ume @ aguagu.ddo.jp
2005年 2月 4日 (金) 16:21:45 JST
梅田と申します
PHPとPostgreSQLの組合わせを勉強中ですが
(ラージオブジェクトについて
理解不足なので参考ページのまねで書いたのですが)
画像登録が出来なくて悩んでます。
クライアントパソコンからデータを探せない?
なぜなんでしょう?
【エラー表示内容】
エラー発生!
errno = 2
errmsg = fopen(E:\a\テスト用\テスト画像.jpg): failed to open stream: No such file or directory
filename = /usr/home/www/lib/test51-w.inc
linenum = 106
vars = Array
エラー発生!
errno = 2
errmsg = filesize(): Stat failed for E:\a\テスト用\テスト画像.jpg (errno=2 - No such file or directory)
filename = /usr/home/www/lib/test51-w.inc
linenum = 107
vars = Array
エラー発生!
errno = 2
errmsg = fread(): supplied argument is not a valid stream resource
filename = /usr/home/www/lib/test51-w.inc
linenum = 107
vars = Array
エラー発生!
errno = 2
errmsg = pg_exec(): Query failed: ERROR: relation "file_lobj" does not exist
filename = /usr/home/www/lib/test51-w.inc
linenum = 113
vars = Array
データ Erro:insert into file_lobj values(01,テスト画像.jpg)
【動作環境】
FreeBSD 4.8-RELEASE
Apache/1.3.31
PHP/4.3.10
PostgreSQL 7.4.6
【フィールド】
CREATE TABLE test (
code INTEGER, --コード番号
image_oid OID, --資源 写真
id SERIAL, --通し番号
CONSTRAINT KEY_NAME primary key (id)
);
【データ登録PHP】(一部抜粋)
$conn = pg_connect("dbname=test user=foo");
pg_exec($conn,"begin");
if (get_magic_quotes_gpc()) {
$filename = basename(str_replace("\\\\","/",$image_oid));
} else {
$filename = basename(str_replace("\\","/",$image_oid));
}
echo "$filename<BR>\n";
$oid = pg_Locreate($conn);
$Lobj = pg_Loopen($conn,$oid,"w");
$fd = fopen($image_oid,"r");
$read_file = fread($fd,filesize($image_oid));
pg_Lowrite($Lobj,$read_file);
$sql = "insert into file_lobj values($code,$filename)";
$rtn = pg_exec($conn,$sql);
if (!$rtn) {
echo "データ Erro:".$sql;
pg_exec($conn,"rollback");
exit;
}
pg_exec($conn,"commit");
pg_exec($conn,"end");
pg_close($conn);
【データ入力PHP】(全文)
<?php
function ifset($name, $default = "") {
if (isset($_SESSION[$name]))
return($_SESSION[$name]);
else
return $default;
}
$code = ifset("number","0");
print<<<EOF
<FORM METHOD="post">
<INPUT SIZE="10" TYPE="text" NAME="code"><BR>
<INPUT TYPE="file" NAME="image_oid"><BR>
<INPUT TYPE="submit" NAME="write" VALUE="書込実行"><BR>
<INPUT TYPE="submit" NAME="logout" VALUE="ログアウト"><BR><HR>
</FORM>
EOF;
?>
PHP-users メーリングリストの案内