作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面的代码看起来应该可以工作;但是,数据库中的 Blob 仅在运行函数后包含0。下面的代码看起来准确吗?如果没有我该如何解决?
$tmpName = $_FILES['picture']['tmp_name'];
$fp = fopen($tmpName, 'r');
$binary = fread($fp, filesize($tmpName));
fclose($fp);
$originalImage = imagecreatefromstring($binary);
$tempImage = imagecreate(100,100);
imagecopyresized($tempImage,$originalImage,0,0,0,0,100,100);
ob_start();
imageJPEG($tempImage);
$thumbnail = ob_get_contents();
ob_end_clean();
$wpdb->query("UPDATE ".$wpdb->prefix."items SET picture = $thumbnail WHERE id=$id'");
谢谢:)!
最佳答案
您可能希望将 blob/图片数据以十六进制形式发送到数据库,因为这是最有效的方法:
if ( is_uploaded_file($_FILES['picture']['tmp_name']) ) {
$originalImage = imagecreatefromjpeg($_FILES['picture']['tmp_name']);
$thumbImage = imagecreatetruecolor(100, 100);
imagecopyresized($thumbImage, $originalImage, 0, 0, 0, 0, 100,100);
imagedestroy($originalImage); // Free the memory as soon as possible
ob_start();
imagejpeg( $thumbImage, NULL, JPEG_QUALITY);
$thumbData = ob_get_contents();
ob_end_clean();
imagedestroy($thumbImage);
$wpdb->query("UPDATE ".$wpdb->prefix."items SET picture = x'".bin2hex($thumbData)."' WHERE id=$id'");
}
注意x'".bin2hex($thumbData)."'
,x
将字符串的内容标记为十六进制。
请注意:
关于将图像存储在数据库中是否是个好主意存在很多争论。普遍的共识是这是一个坏主意,除非:
在所有其他情况下,请将图像存储在磁盘上并将所述图像的位置存储在数据库中。
关于php - 在 Wordpress 中使用 PHP 制作缩略图然后另存为 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2484469/
我有 json 数据: { "products": [ { "productId" : 0, "productImg" : "../img/product-ph
我是一名优秀的程序员,十分优秀!