首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从超文本标记语言表单在MySQL数据库中存储文件

问从超文本标记语言表单在MySQL数据库中存储文件
EN

Stack Overflow用户
提问于 2010-07-21 22:03:01
回答 3查看 9K关注 0票数 2

我得到了下面的HTML表单。正如您所看到的,它正在保存一个文件。

代码语言:javascript
复制
<form enctype="multipart/form-data" action="welcome.php" method="post
"onsubmit="return validateFormOnSubmit(this)"> 
 <b>Name</b><br/> <input type="text" name="fname" /> 
 <br/>
 <b>Description</b><br/> <TEXTAREA NAME="description" COLS=40
 ROWS=6></TEXTAREA><br/><br/> <input type="hidden" name="MAX_FILE_SIZE" value="100000"/> 

<b>Upload Picture</b><br/> <input name="uploadedfile" type="file" /><br /> 
 <b>Latitude</b><br/><INPUT name="lat" id ="lat" /><br/> 
 <b>Longitude</b><br/><INPUT     name="lng" id ="lng" /><br/> <input type="submit" />

​

这个文件是这样处理的...

代码语言:javascript
复制
 $target_path = "uploads/";

 $target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

其余的信息存储在SQL数据库中。我想将上传的文件存储在那个数据库中。我该如何通过发送信息的php文件来做这件事?我插入它就像..。

代码语言:javascript
复制
   $query = "INSERT INTO <TABLE> (name, message, lat, lng, type)VALUES ('".$title."', '".$des."', '".$lati."', '".$long."', '".$type."')";
   $q=mysql_query($query) or die(mysql_error());
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-21 22:10:13

如果您确实希望在MySQL DB中插入您的HTML文件,有两种方法:

  1. 使用BLOB类型存储文件。
  2. 将您的文件转换为字符串,并将其存储在文本字段中。

但是,我的建议是将文件存储在服务器文件系统上,而不是数据库中。

票数 5
EN

Stack Overflow用户

发布于 2010-07-21 22:10:20

您可以通过两种方式完成此操作。

  1. 将文件复制到文件系统中,并将其在database
  2. Storing中的路径保存为数据库中的二进制数据。

mysql_real_escape_string($data); = $data ($_file_get_contents‘file_get_contents’);$data =‘photo

然后将数据保存在字段中(您需要将该字段创建为blob)

票数 3
EN

Stack Overflow用户

发布于 2010-07-21 22:09:28

你是说上传文件的内容?

如下所示:

代码语言:javascript
复制
// Obtain the file content (add error handling here...)
$contents = file_get_contents($_FILES['uploadedfile']['tmp_name']);
// Escape all special characters
$contents = mysql_real_escape_string($contents)
// Do the insert
$query = 'INSERT INTO <TABLE> (....) VALUES ("' . $contents . '")';
$q=mysql_query($query) or die(mysql_error());

编辑:马文是对的,它是file_get_contents。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3300067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档