2013-06-18 56 views
-1

我是新来的php编程。我想知道如何存储和检索数据库中的图像。请你帮我如何将图像存储在数据库中并从数据库中检索。如何使用php在数据库中存储图像?

+4

那么,你不希望在数据库中存储实际的图像'BLOB',而是图像的'路径'。 –

回答

1

问:如何将图像存储在数据库中?
A.不要将图像存储在数据库中。他们爆炸。

不要将二进制数据存储在[关系数据库]中。将它存储在文件系统中 - 一个旨在存储文件的数据库。

1

有存储在数据库中的图像不同的方式和上面的是一个方法,你可以使用:

CREATE TABLE `employees` (
    `id` INT(10) NOT NULL AUTO_INCREMENT, 
    `empname` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_general_ci', 
    `profile_pic` LONGBLOB NULL, 
    `ext` VARCHAR(5) NULL DEFAULT NULL COLLATE 'latin1_general_ci', 
    PRIMARY KEY (`id`) 
) 

而且PHP代码:

<?php 
    $dbh = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password'); 
    mysql_select_db("test"); 
    $data = file_get_contents($image_file_name); 
    $data = mysql_real_escape_string($data); 
    mysql_query("INSERT INTO imagestableblob(data) VALUES ('$data')"); 
?> 

这里有一个tutorial to store images in a DByou can also refer to this

但建议将图像存储在基于文件的系统中。为此,您需要创建id,名称,路径等列,并将其映射到需要通过图像标识访问的任何位置。

+3

** 1)**不要使用mysql_,使用mysqli/pdo ** 2)**不要将图像存储在数据库中,将其存储在硬盘上并将路径保存到数据库中。 – HamZa

+0

file_get_contents($ image_file_name)是什么意思? – madhan

+0

你有没有试过,它获取图像数据,然后我们可以将它存储在分贝。这取决于您要在何处存储映像或基于文件的系统或数据库中的要求。建议使用基于文件的系统。 –

相关问题