douweinu8562 2014-09-14 17:20
浏览 95

如何从mysql数据库中获取图像数据时getimagesize()

What is correct parameters for getimagesize($image_temp) and imagecreatefromjpeg($image_temp) when image fetch from database.

Please help me, thanks.

TABLE IN DB

CREATE TABLE `image` (
 `name` varchar(255) NOT NULL,
 `mime` varchar(50) NOT NULL,
 `size` int(20) NOT NULL,
 `data` mediumblob NOT NULL,
 `created` datetime NOT NULL,
 `userid` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

PHP

$sql = "SELECT * FROM `image` WHERE ids = '0' limit 1";
$sqlquery = mysql_query($sql)or die(mysql_error());
$data = mysql_fetch_assoc($sqlquery);

    $image_name = $data['name']; //file name
    $image_size = $data['size']; //file size
    $image_temp = $data['data']; //file blob
    $image_type = $data['mime']; //file type

    // Parameter incorrect
    list($width, $height) = getimagesize($image_temp);

    // Parameter incorrect
    $source = imagecreatefromjpeg($image_temp);

ERROR
Warning: : failed to open stream: No such file or directory in D:\xampp\htdocs\mysite\php\imageread.php on line 18

Warning: : failed to open stream: No such file or directory in D:\xampp\htdocs\mysite\php\imageread.php on line 31

  • 写回答

1条回答 默认 最新

  • duanmin0941 2014-09-14 17:36
    关注

    It seems your image is stored as a BLOB in your database, and your query retrieves the image data.

    In this case you should use getimagesizefromstring() (http://php.net/manual/en/function.getimagesizefromstring.php) instead of getimagesize() to find out the image's dimensions.

    But beware, the MySQL bindings sometimes have difficulty retrieving large BLOBs from the database.

    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?