【发布时间】:2012-03-27 14:41:13
【问题描述】:
我正在阅读一些关于如何将我的图像作为二进制文件上传到数据库而不是将它们放在服务器本身上的教程,我让它像这样工作:
PHP:
$image = chunk_split(base64_encode(file_get_contents($tmpfile)));
mysql_query("INSERT INTO images (`img_location`, `caption`, `user`, `genre`, `when`) VALUES ('$image', '$caption', '$id', '$genre', '$when')");
我的问题是你现在如何从数据库中提取它,我已经阅读了几种方法,尝试了所有方法,无法弄清楚,我没有收到 MySQL 错误,这就是我的方法我试试看:
$get_pics = mysql_query("SELECT * FROM images WHERE user='$id' ");
while($get_pics2 = mysql_fetch_array($get_pics))
{
$sixfour_enc = base64_decode($get_pics2['img_location']);
$new .= "<img src=\"".$sixfour_enc."\" >";
}
这行得通……有点,正在发生的事情是它在 IMG 标记中打印出原始二进制文件。
如何让它再次编译为可读图像?另外,将图像存储在数据库中是否愚蠢?我应该做我通常做的事情并将它们存储在服务器上吗?
谢谢 -麦克
【问题讨论】: