国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

在PHP中將圖片存放ORACLE中

2024-08-29 13:32:27
字體:
供稿:網(wǎng)友
我這里提供一個(gè)用php操縱blob字段的例子給你,希望能有所幫助!

這個(gè)例子是把用戶上傳的圖片文件存放到blob中。
假設(shè)有一個(gè)表,結(jié)構(gòu)如下:
create table pictures (
id number,
description varchar2(100),
picture blob
);
然后是用來處理數(shù)據(jù)的php程序代碼。
〈?php

//建立oracle數(shù)據(jù)庫連接
$conn = ocilogon($user, $password, $sid);
//提交sql語句給oracle
//在這里要注意的兩點(diǎn):一是用empty_blob()函數(shù)。這是oracle的內(nèi)部函數(shù),返回一個(gè)lob的定位符。在插入lob時(shí),只能用這個(gè)辦法先生成一個(gè)空的lob定位符,然后對這個(gè)定位符進(jìn)行操作。empty_blob()函數(shù)是針對blob類型的,對應(yīng)于clob的是empty_clob()。二是returning后面的部分,把picture返回,讓php的oci函數(shù)能夠處理。
$stmt = ociparse($conn,"insert into pictures (id, description, picture)
values (pic_seq.nextval, '$description', empty_blob()) returning picture into :picture");
//生成一個(gè)本地lob對象的描述符。注意函數(shù)的第二個(gè)參數(shù):oci_d_lob,表示生成一個(gè)lob對象。其它可能的還有oci_d_file和oci_d_rowid,分別對應(yīng)于bfile和rowid對象。
$lob = ocinewdescriptor($conn, oci_d_lob);
//將生成的lob對象綁定到前面sql語句返回的定位符上。
ocibindbyname($stmt, ':picture', &$lob, -1, oci_b_blob);
ociexecute($stmt);
//向lob對象中存入數(shù)據(jù)。因?yàn)檫@里的源數(shù)據(jù)是一個(gè)文件,所以直接用lob對象的savefile()方法。lob對象的其它方法還有:save()和load(),分別用來保存和取出數(shù)據(jù)。但bfile類型只有一個(gè)方法就是save()
if($lob-〉savefile($lob_upload)){
ocicommit($conn);
echo "上傳成功〈br〉";
}else{
echo "上傳失敗〈br〉";
}
//釋放lob對象
ocifreedesc($lob);
ocifreestatement($stmt);
ocilogoff($conn);

?〉
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇州市| 寿阳县| 扶沟县| 岚皋县| 永修县| 禹州市| 咸阳市| 涿鹿县| 台东市| 永川市| 怀集县| 比如县| 峨眉山市| 岳西县| 漾濞| 正阳县| 乌鲁木齐县| 绥宁县| 丹江口市| 阿城市| 蒙阴县| 喜德县| 长葛市| 华池县| 临城县| 汝城县| 青龙| 滨州市| 瑞昌市| 安平县| 温宿县| 望都县| 扶余县| 宁安市| 望江县| 博罗县| 东城区| 澄城县| 务川| 武安市| 通化县|