使用 PHP 在 Oracle 中将图像上传为 BLOB

2022-01-09 00:00:00 blob upload php oracle

谁能告诉我如何使用 PHP 将图像作为 BLOB 存储在 Oracle 数据库中?

Can anyone please tell me how to store images in an oracle database as BLOBs using PHP?

一个可行的例子会很好.谢谢.

A working example would be nice. Thankyou.

推荐答案

首先需要从$_FILES #global数组中获取正在上传的图片:

You first need to get the image that is being uploaded from the $_FILES #global array:

$image = file_get_contents($_FILES['image_field_name']['tmp_name']);

然后将图像插入数据库试试这个:

Then to insert the image in the database try this:

$sql = "INSERT INTO table (id, image) VALUES(1, empty_blob()) RETURNING image INTO :image";

$result = oci_parse($connection, $sql);
$blob = oci_new_descriptor($connection, OCI_D_LOB);
oci_bind_by_name($result, ":image", $blob, -1, OCI_B_BLOB);
oci_execute($result, OCI_DEFAULT) or die ("Unable to execute query");

if(!$blob->save($image)) {
    oci_rollback($connection);
}
else {
    oci_commit($connection);
}

oci_free_statement($result);
$blob->free();

相关文章