我有以下HTML表单。正如您所看到的那样,它正在保存文件。
<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" />
正在处理此文件......
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
其余信息存储在SQL数据库中。我想存储上传到该数据库中的文件。我将如何通过发送信息的php文件来执行此操作?我正在插入它......
$query = "INSERT INTO <TABLE> (name, message, lat, lng, type)VALUES ('".$title."', '".$des."', '".$lati."', '".$long."', '".$type."')";
$q=mysql_query($query) or die(mysql_error());
答案 0 :(得分:5)
如果您确定要在MySQL数据库中插入HTML文件,有两种方法:
使用BLOB类型存储文件。
将文件转换为字符串,因为它是HTML,并将其存储在TEXT字段中。
但是,我的建议是将文件存储在服务器文件系统上,而不是存储在数据库中。
答案 1 :(得分:3)
你可以用两种方式做到这一点。
将文件复制到文件系统并将其路径保存在数据库中
将文件存储为数据库中的二进制数据。
$data = file_get_contents($_FILES['photo']['tmp_name']);
$data = mysql_real_escape_string($data);
然后将数据保存在字段中(您需要将该字段创建为blob)
答案 2 :(得分:1)
您的意思是上传文件的内容?
非常像下面这样:
// 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());
编辑:marvin是对的,它的file_get_contents。