【发布时间】:2014-08-29 20:22:29
【问题描述】:
我在 HTML 表单和文件上传器中有一些输入类型。但我无法在 MySQL 数据库中同时上传数据和文件。每次将空白条目填充到数据库中...
HTML 表单
<form method="post" action="upload.php" enctype="multipart/form-data">
<p>
<label>Name:</label>
<input type="text" name="name" size="40">
</p>
<p>
<label>Email:</label>
<input type="email" name="email">
</p>
<p>
<input type="radio" name="gen" value="Male">Male
<input type="radio" name="gen" value="Female">Female</p>
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload:
<br>
<input type="file" name="File" size="40">
<p>
<input type="submit" name="submit" value="submit">
</form>
PHP 代码
if(isset($_POST['name']) && isset($_POST['email']) &&
isset($_POST['gen']) && $_FILES['File']['size'] > 0) {
$name=get_POST('name');
$email=get_POST('email');
$gender=get_POST('gen');
$filename = $_FILES['File']['name'];
$tmpname = $_FILES['File']['tmp_name'];
$filesize = $_FILES['File']['size'];
$filetype = $_FILES['File']['type'];
$fp = fopen($tmpname, 'r');
$file = fread($fp, filesize($tmpname));
$file = addslashes($file);
fclose($fp);
if(!get_magic_quotes_gpc()) {
$filename = addslashes($filename);
}
$query = "
INSERT INTO uploadform
(Name, Email, Gender, Filename, Filetype, Filesize, File) VALUES
('$name', '$email', '$gender', '$filename', '$filetype', '$filesize', '$file');";
mysql_query($query) or die('Error, query failed');
}
在数据库中文件的数据类型是MEDIUMBLOB
【问题讨论】:
-
我忽略了链接,但它不是我要找的;问题是我无法将我的文本数据和文件从 php 表单上传到数据库...但是如果我只尝试使用文件,那么它就成功了...我可以将数据和图像发送到同一行表格中吗?不同的形式...?
标签: php html mysql database uploading