我已经在网上找了好几个星期了,还是找不到解决我的问题的办法。
我正在开发一个使用Flex(front-end)和PHP/MySql(Back-end)的Web应用程序。
现在我想让用户上传他们的个人资料图片...我正在把它们上传到服务器上的目录。现在我的老板“觉得”它们应该直接存储到数据库中,不仅存储图像的链接,还存储整个内容。
请帮帮我...我被卡住了!
发布于 2012-11-20 23:07:15
首先,在你上传文件的表单中,你应该使用以下标签:
enctype="multipart/form-data" 此外,您还需要将该字段指定为以下字段之一:
TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
最后,为您的数据库修改此代码,这将完成以下操作:)
<?php
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Error, query failed');
} ?>
发布于 2012-11-20 23:05:57
通常,最好将图像存储在文件系统上(考虑到速度和大小)。为此,您可以将图像存储在一个位置,例如“图像/配置文件/{userID}.jpg”。如果您确实希望将图像存储在数据库中,只需将列类型设置为blob并在其中插入图像内容。here描述了一篇详细介绍在mysql数据库中存储图像的好文章。
https://stackoverflow.com/questions/13475806
复制相似问题