【发布时间】:2012-11-08 16:42:01
【问题描述】:
我有一个包含 6 个字段的表格 students_id, customer_id, firstname, lastname, image_name, image 这个 image 字段是 BLOB 类型,image_name 字段图像文件名和扩展名。我知道如何从 blob 字段获取存储的图像并显示到我的网页,我通过 phpmyadmin 上传图像对其进行了测试...我的问题是如何将图像存储在我的 image 字段中。?
这是我用于其他领域的内容..
<?php
public function addStudents($data) {
$this->db->query("INSERT INTO " . DB_PREFIX . "students SET customer_id = '" .
(int)$this->customer->getId() . "', firstname = '" . $this->db->escape($data['firstname']) .
"', lastname = '" . $this->db->escape($data['lastname']) . "'");
}
?>
这是我的 HTML 图片上传部分
<input type="file" name="image" />
有人请帮帮我吗?如果有人可以通过编辑我的源代码来回答它非常有帮助...
谢谢...
【问题讨论】:
-
在数据库中存储图像是个坏主意。它现在可能看起来很方便,但你稍后会扯掉头发。不要这样做。将图像存储在服务器文件系统的某个位置,并将文件的路径存储在数据库中。
-
@MarcB,您能否详细说明可能出现的“扯头发”问题?我一直倾向于使用文件系统,主要是因为存储和备份问题。但是以编程方式存在哪些问题?
-
所以,您实际上并没有询问有关数据库或 BLOB 的任何信息,是吗?你的问题是关于handling file uploads in PHP?
-
@pinny:每次请求文件时都必须查询文件,当您发现图像没有被各种客户端浏览器(或其他)缓存时,就会产生带宽费用,因为它们没有t以“正常”方法提供。数据库转储非常臃肿,因为它们中有大量的除非二进制垃圾。
-
@MarcB,根据您的路由和缓存控制的执行方式,缓存应该不是问题吗?我同意数据库转储会很快失控......
标签: php mysql sql blob image-upload