【发布时间】:2012-05-31 16:27:03
【问题描述】:
我目前正在开发一个需要用户上传不同产品图片的网站。我通过 php 使用 MySql 数据库来实现它。
我获取用户输入的基本表单的代码是:
<form enctype="multipart/form-data" action="testimage1.php" method="post" name="changer">
<input name="MAX_FILE_SIZE" value="102400" type="hidden">
<input name="image" accept="image/jpeg" type="file">
<input value="Submit" type="submit">
</form>
我的数据库表是:
mysql> CREATE TABLE tbl_images (
> id tinyint(3) unsigned NOT NULL auto_increment,
> image blob NOT NULL,
> PRIMARY KEY (id)
> );
testimage1.php 代码如下:-
$username = "root";
$password = "";
$host = "localhost";
$database = "thinstrokes";
$link = mysql_connect($host, $username, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
// Select your database
mysql_select_db ($database);
if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) {
// Temporary file name stored on the server
$tmpName = $_FILES['image']['tmp_name'];
// Read the file
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);
// Create the query and insert
// into our database.
$query = "INSERT INTO tbl_images ";
$query .= "(image) VALUES ('$data')";
$results = mysql_query($query, $link) or die(mysql_error());
// Print results
print "Thank you, your file has been uploaded.";
}
else {
print "No image selected/uploaded";
}
提交表单时出现错误:No image selected/uploaded
我没有收到错误消息...而且我之前已经提出过这样的要求:
但是直到现在我还没有成功将图像存储在数据库中。
【问题讨论】:
-
"在提交表单时我收到错误" -- "我没有收到错误" -- 那么,您在提交表单时是否看到错误?如果您正在看到“未选择/上传图片”错误,我建议您使用 var_dump($_FILES) 查看它是否包含您期望它包含的数据。
-
使用fopen的目的是什么??
-
你的脚本工作正常,检查我的答案
-
它在我的笔记本电脑上不起作用,我正在使用 xampp-win32-1.7.3.. 并使用 xampp 的 mysql
-
@greggory.hz 对不起,我收到了错误,该错误是..“未选择/上传图像”..