首页 > 解决方案 > 使用 oracle 和 php 将大文件上传到 BLOB

问题描述

所以我试图上传一个 PDF 文件并将其存储BLOB在 Oracle 表中的一个字段中,但是像下面这样的简单查询失败并给出以下错误:

ORA-01704: 字符串文字太长。

INSERT INTO tablename  values ('1' , "very large text from fread function ")

任何想法如何解决它?

标签: phporaclepdoblob

解决方案


使用 PDO。

你可以试试这个模板:

$db= new PDO("oci:dbname=dbnamehere","dbusername","dbpassword");
$stmt = $db->prepare("INSERT INTO tablename (pid, pdf) VALUE(NULL, :pdf);");

$fp = fopen("files/a.pdf", 'rb');

$stmt->bindParam(":pdf", $fp, PDO::PARAM_LOB);
$stmt->execute();

此模板将具有 blob 值的记录插入数据库。


推荐阅读