-2

我目前面临一个问题。我不知道如何将图像上传到 mysql 数据库。然后之后我需要从数据库中检索并显示它。

这实际上是因为我需要创建一个包含添加到购物车按钮的在线目录。但是对于要在在线目录中显示的图像,我不能使用硬编码。每当我在管理页面中有新产品时,我希望能够经常更新在线目录。

我只能为文本而不是图像来做。

if (isset($_POST['submit'])){
    $name = $_POST['name'];
    $add = mysql_query("INSERT INTO maritime_products(name) VALUES('$name')") or die("gg2");

    }

$showname = mysql_query("SELECT * FROM maritime_products");
while($anything = mysql_fetch_array($showname)){
    echo $anything['name'];
}
4

2 回答 2

5

不需要将图像存储在数据库中。请将图像的路径存储在您的数据库中,并将图像本身存储在文件系统中。谢谢!

于 2013-07-18T08:51:01.043 回答
0

正如 Serge Velikanov 已经说过的那样,不,将您的图像存储在您托管网站的服务器上,并且只将图片的 URL 保存到数据库中。原因:如果你改变了图片的大小,你只需重新上传到FTP就可以了,不需要再次保存到数据库中。但是如果你仍然打算这样做,你可以看看BLOBOLE Object

您可以在这里找到优点和缺点(不是我写的):

我的经验是,将大图像或其他二进制对象上传到 SQL Server 性能不是很好,也不完全可靠。多年来,SQL Server 团队已经让它变得更好了(varbinary(max) 等),但他们并没有在性能上取得很大的进步。如果你要这样做,我建议分块而不是一次上传整个图像。此外,SQL Server 2008 有一个可以运行的新选项(服务),允许引擎将 Blob 数据流式传输到文件系统。我还没有实现这个服务,但我相信它可以与 Shadow Copy 服务一起工作并将文件流式传输到文件系统。我不清楚备份将如何工作,但由于指针将存储在那里的表中' 引擎知道将文件与表中的其他数据一起备份的好机会。在 MSDN 或 SQL Server 站点上查看。(布赖恩·卡斯特)

又是重复的?

https://stackoverflow.com/questions/805519/save-image-in-database

将图像存储在数据库中还是系统文件中?

于 2013-07-18T08:52:24.990 回答