博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP存储blob示例(转)
阅读量:6240 次
发布时间:2019-06-22

本文共 2757 字,大约阅读时间需要 9 分钟。

原文:http://www.mysqltutorial.org/php-mysql-blob/

pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD); //for prior PHP 5.3.6 //$conn->exec("set names utf8"); } catch (PDOException $e) { echo $e->getMessage(); } } /** * insert blob into the files table * @param string $filePath * @param string $mime mimetype * @return bool */ public function insertBlob($filePath, $mime) { $blob = fopen($filePath, 'rb'); $sql = "INSERT INTO files(mime,data) VALUES(:mime,:data)"; $stmt = $this->pdo->prepare($sql); $stmt->bindParam(':mime', $mime); $stmt->bindParam(':data', $blob, PDO::PARAM_LOB); return $stmt->execute(); } /** * update the files table with the new blob from the file specified * by the filepath * @param int $id * @param string $filePath * @param string $mime * @return bool */ function updateBlob($id, $filePath, $mime) { $blob = fopen($filePath, 'rb'); $sql = "UPDATE files SET mime = :mime, data = :data WHERE id = :id;"; $stmt = $this->pdo->prepare($sql); $stmt->bindParam(':mime', $mime); $stmt->bindParam(':data', $blob, PDO::PARAM_LOB); $stmt->bindParam(':id', $id); return $stmt->execute(); } /** * select data from the the files * @param int $id * @return array contains mime type and BLOB data */ public function selectBlob($id) { $sql = "SELECT mime, data FROM files WHERE id = :id;"; $stmt = $this->pdo->prepare($sql); $stmt->execute(array(":id" => $id)); $stmt->bindColumn(1, $mime); $stmt->bindColumn(2, $data, PDO::PARAM_LOB); $stmt->fetch(PDO::FETCH_BOUND); return array("mime" => $mime, "data" => $data); } /** * close the database connection */ public function __destruct() { // close the database connection $this->pdo = null; }}$blobObj = new BobDemo();// test insert gif image$blobObj->insertBlob('images/php-mysql-blob.gif',"image/gif");$a = $blobObj->selectBlob(1);header("Content-Type:" . $a['mime']);echo $a['data'];// test insert pdf//$blobObj->insertBlob('pdf/php-mysql-blob.pdf',"application/pdf");//$a = $blobObj->selectBlob(2);// save it to the pdf file//file_put_contents("pdf/output.pdf", $a['data']);// $a = $blobObj->selectBlob(2);// header("Content-Type:" . $a['mime']);// echo $a['data'];// replace the PDF by gif file// $blobObj->updateBlob(2, 'images/php-mysql-blob.gif', "image/gif");// $a = $blobObj->selectBlob(2);// header("Content-Type:" . $a['mime']);// echo $a['data'];

 

转载地址:http://zwdia.baihongyu.com/

你可能感兴趣的文章
20172304 实验三报告
查看>>
[转载]项目风险管理七种武器-霸王枪
查看>>
正则实例
查看>>
Hash与Map
查看>>
sqlmap使用笔记
查看>>
U盾技术学习笔记
查看>>
云计算面临的安全挑战 访北大计算机学院院长陈钟
查看>>
一起谈.NET技术,C#中标准Dispose模式的实现
查看>>
艾伟:C#对游戏手柄的编程开发-API篇(2)
查看>>
关于defineProperty的一点理解
查看>>
如何创建只读域控制器RODC(Read-Only Domain Controller)
查看>>
python-字符串
查看>>
LabVIEW串口通信
查看>>
2017UGUI之slider
查看>>
python下载酷狗音乐源码
查看>>
MySQL学习----explain查看一条sql 的性能
查看>>
第零次作业
查看>>
Android + eclipse +ADT安装完全教程
查看>>
【批处理学习笔记】第七课:简单的批处理命令(6)
查看>>
leetcode 【 Subsets 】python 实现
查看>>