多语言展示
当前在线:1387今日阅读:19今日分享:20

如何通过PHP将一张图片存入Oracle库

这里介绍如何通过PHP将一张图片存入Oracle库,图片可以是上传获得或者是本地
工具/原料
1

图片

2

PHP

3

Oracle

图片存入数据库操作
1

在Oracle中建立一张测试的表,表里增加一个BLOB类型的字段

2

在PHP中通过OCI与Oracle库建立连接$conn = OCILogon($this->login_user, $this->login_pass, $this->login_db);

3

执行insert操作,BLOB字段的值为“EMPTY_BLOB()”,并在最后写上 RETURNING INTO :变量,注意前面加冒号

4

执行预备执行函数 $stmt = OCIParse($conn, $sql);

5

执行PHP的分配资源函数保存LOB定位器,并与Oracle的变量进行捆绑 $lob = OCINewDescriptor($conn, OCI_D_LOB); OCIBindByName($stmt, ':XP', $lob, -1, OCI_B_BLOB);

6

使用PHP读取本地的图片,存入变量中,读取到的为图片的二进制数据$pic = file_get_contents('test.jpg');如果是通过网络上传的图片,在上传的时候将图片转为base64字符串形式提交,PHP接收到此数据时,再通过base64_decode函数进行转换,转为二进制数据(此步骤可在连接数据库前进行)

7

对insert进行提交,并将二进制数据保存入lob定位器中,如无异常即可将图片存入数据库,如有异常,可通过oci_error函数捕获$res = OCIExecute($stmt, OCI_DEFAULT);$lob->save($pic);OCICommit($conn);

推荐信息