我正在尝试使用 php 和 html 制作一个“上传”按钮,并将图像保存在 mysql 数据库中。使用 mysqli,我意识到我的数据库连接是正确的,但是,我仍然遇到与“上传图像问题”相同的错误。 .谁能向我解释我做错了什么?
成员.php
<form action="member.php" method="POST" enctype="multipart/form-data">
File:
<input type="file" name="image" /><input type="submit" value="Upload" />
</form>
<?php
$mysqli=mysqli_connect('localhost','root','root','users') or die("Database Error");
$file = $_FILES['image']['tmp_name'];
if (!isset($file))
echo "Please select an image.";
else
{
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
$image_size = getimagesize($_FILES['image']['tmp_name']);
if($image_size==FALSE)
echo "That's not an image file.";
else {
if (!$insert = mysqli_query("INSERT INTO store VALUES ('','$image_name','$image')"))
echo "Problem uploading image.";
else {
echo "Image uploaded.";
}
}
}
?>
提前致谢。
问候, 史蒂夫
最佳答案
我认为你必须先上传文件!
试试这段代码:
<?php
$mysqli=mysqli_connect('localhost','root','root','users') or die("Database Error");
$file = $_FILES['image']['tmp_name'];
if (!isset($file))
echo "Please select an image.";
else
{
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['image']['name']);
if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
$image = file_get_contents($uploadfile);
$image_name = $_FILES['image']['name']);
if (!$insert = mysqli_query("INSERT INTO store VALUES ('','$image_name','$image')"))
echo "Problem uploading image.";
else {
echo "Image uploaded.";
}
} else {
echo "Possible file upload attack!\n";
}
}
?>
关于php - PHP上传图片程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25158805/