我已经在网上搜索了几个星期,但找不到解决我的问题的方法。
我正在使用Flex(front-end)
and开发一个 Web 应用程序PHP/MySql(Back-end)
。
现在我想让用户为他们的个人资料图片上传图片......我正在将它们上传到服务器上的目录。现在我的老板“感觉”它们应该直接存储到数据库中,不仅存储图像的链接,还存储整个内容。
请帮助伙计们......我被困住了!
我已经在网上搜索了几个星期,但找不到解决我的问题的方法。
我正在使用Flex(front-end)
and开发一个 Web 应用程序PHP/MySql(Back-end)
。
现在我想让用户为他们的个人资料图片上传图片......我正在将它们上传到服务器上的目录。现在我的老板“感觉”它们应该直接存储到数据库中,不仅存储图像的链接,还存储整个内容。
请帮助伙计们......我被困住了!
通常,最好将图像存储在文件系统上(速度和大小)。为此,您可以将图像存储在“images/profiles/{userID}.jpg”等位置。如果您确实想将图像存储在数据库中,只需将列类型设置为blob
并将图像内容插入其中。一篇很好的文章,详细介绍了在 mysql 数据库中存储图像的详细信息。
首先,在您从中上传文件的表单中,您应该使用以下标签:
enctype="multipart/form-data"
您还需要将该字段指定为以下之一:
小斑点,斑点,中斑点,长斑点
最后为您的数据库修改此代码即可:)
<?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');
}
?>