我想将图片存储在mysql数据库中。图像通过android发送的问题是,我真的不知道用哪种方法在msql数据库中存储图像。
1. Access image from file
2.Store image in filesystem and store the url in the database
3.Store the image in the database在存储这些图像之后,我想把这些图像放到PHP文件中。
我想知道哪种方法是最好的,怎么做呢?
发布于 2013-10-20 05:36:31
在移动平台上,数据库调用是昂贵的。这意味着从数据库获取信息需要更多的周期,并且可能会降低应用程序的性能。很明显你不想那样。不过,如果您想这样做,BLOB就是您的答案。
--高效方式
在数据库中添加绝对路径字段,并从本地存储中获取图像。
这是最好的做法。
发布于 2013-10-20 05:16:04
是的,您可以将图像存储在数据库中,但这是不可取的,也是错误的做法。
不要将图像存储在数据库中。将图像存储在目录中,并在数据库中存储对图像的引用。类似于将图像路径存储在数据库中或将图像名称存储在数据库中。
图像可以获得相当大的1MB >。即使这是一个小图像,它仍然是不好的做法。您正在对数据库事务进行额外的点击,这是完全可以避免的。没有大型网站将图片存储在数据库中。例如: Facebook不会这么做。这不是个好主意。
避开它。使用目录.
发布于 2013-10-20 05:33:21
首先创建一个照片表来存储图像的引用
CREATE TABLE IF NOT EXISTS `photos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`img` varchar(255) NOT NULL,
`sound` varchar(255) NOT NULL,
`about` text NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`user_id` varchar(255) NOT NULL,
`likes` int(255) NOT NULL,
`down` int(255) NOT NULL,
`seen` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;然后,在上传过程中,将图像保存到文件夹中,获取图像文件名并将其存储到表中,如下所示。
$save_image = mysql_query("INSERT INTO photos VALUES('','$originalFile','','$about','$data','$uid','0','0','0')") or die(mysql_error());然后简单地显示图像
$p = mysql_query("select img from photos");
$p_f = mysql_fetch_assoc($p);
$img = $p_f['img']; 简单地显示图像
<img src="myFolder/<?php echo $img?>">而你完成了。
https://stackoverflow.com/questions/19474030
复制相似问题