未定义的索引:从php上传图像到数据库

时间:2014-09-26 13:44:05

标签: php mysql

很抱歉这个问题,但我尝试了一切,但我无法解决我的问题。

我正在尝试从php中的表单向数据库添加图像,然后在页面上显示图像。

但是我遇到了一个我无法解决的错误。

错误是:Notice: Undefined index: image in C: \ xampp \ htdocs \ test \ index2.php on line 18

有人可以帮我吗?

谢谢大家。

- - - - 的index.php -----------

    <html>
    <head>
        <title>Upload an image</title>
    </head>   
    <body>

        <form action="index2.php" method="POST" enctype="multipart/form-data">
             File:
            <input type="file" name="image"> <input type="submit" value="Upload">

        </form>

        <?php
if (isset($_FILES['image'])) {
mysql_connect("localhost", "root", "*****") or die (mysql_error());
mysql_select_db('database') or die (mysql_error());

$file = $_FILES['image']['tmp_name'];


if (!isset($file)) 
    echo "Please select an image";
else{
   echo $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
   $image_name = $_FILES['image']['tmp_name'];
   $image_size = getimagesize($_FILES['image']['tmp_name']);

   if($image_size==FALSE)
       echo "That's not an image";
   else{
            if(!$insert = mysql_query("INSERT INTO table_image(name_image, image) VALUES ('Test','$image' )"))
            echo"Problem uploading image.";
            else
            {
                $lastid = mysql_insert_id();
            echo"Image uploaded.<p />Your Image: <p /><img src=get.php?id=$lastid>";
            }

        }
}
}
?>

------ ----- get.php

   <?php

mysql_connect("localhost", "root", "*****") or die (mysql_error());
mysql_select_db('database') or die (mysql_error());

$id = addslashes($_REQUEST['id']);

$image = mysql_query("select * from table_image where id=$id");
$image = mysql_fetch_assoc($image);
$image = $image['image'];

header("Content-type: image/jpeg");
echo $image;


?>

enter image description here

第18行:$file = $_FILES['image']['tmp_name'];

-------------- ---------------- EDIT

感谢大家的所有消遣。 我试过你们说的一切。结果就是这样。

enter image description here

发生了什么事?

2 个答案:

答案 0 :(得分:1)

你忘记了't'。

enctype="mulipart/form-data"

所以

enctype="multipart/form-data"

您还试图检查isset($_POST['image'])

isset($_FILES['image'])

答案 1 :(得分:0)

除了mulipart/form-datamultipart/form-data的拼写错误修复之外您需要在访问

之前验证/检查它
if (!empty($_FILES['image']['name'])) {
    $file = $_FILES['image']['tmp_name'];
}