我已经在网上搜索了几个星期,但找不到我的问题的解决方案。
我正在使用Flex(front-end)
和PHP/MySql(Back-end)
开发Web应用程序。
现在我想让用户为他们的个人资料图片上传图片...我正在将他们上传到服务器上的目录。现在我的老板“觉得”他们应该直接存储到数据库,不仅存储图像的链接,而且存储整个内容。
请帮帮我们......我被困了!!!
答案 0 :(得分:0)
通常,最好将图像存储在文件系统上(速度和大小)。为此,您可以将图像存储在诸如“images / profiles / {userID} .jpg”之类的位置。如果您确实想要将图像存储在数据库中,只需将列类型设置为blob
并将图像内容插入其中。有关详细说明在mysql数据库中存储图像的文章,请参阅here。
答案 1 :(得分:0)
首先,在您上传文件的表单中,您应该使用以下标记:
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');
}
&GT;