1

可能重复:
未定义索引:文件

嗨我现在正在学习如何将图像上传到数据库,但我收到了这个错误/通知

注意:未定义索引:第 19 行 C:\xampp\htdocs\Pildibaas\index.php 中的图像

这是我的 index.php 整个代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Image upload</title>
</head>

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


<?php
mysql_connect ("localhost", "root", "") or die (mysql_error());
mysql_select_db ("databaseimage") or die (mysql_error());


?>
</body>

</html>

从 index.php 中删除的第 19 行(此行给出错误):

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

从谷歌发现我需要更改 tmp 文件夹的权限,但它已经拥有它需要的所有权限。

在教程中他没有得到这个错误

谢谢你

4

2 回答 2

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

应该

if(isset($_FILES['image'])){
    echo $_FILES['image']['tmp_name'];
}

这首先检查是否$_FILES['image']已设置。如果没有,这将不会运行。因此,您不会收到超出索引的错误。

因为你首先要提交表单$_FILES['image']才会被设置...

此外,输入标签是自动关闭的,因此您的表单不会是:

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

但:

<form action="index.php" method="POST" enctype="multipart/form-data">
    File:
    <input type="file" name="image" /> <input type="submit" value="Upload" /> 
</form>
于 2012-10-28T12:50:12.570 回答
0
echo $file = $_FILES['image']['tmp_name'];

应该

echo $_FILES['image']['tmp_name'];
 or 
if(!empty($_FILES) && isset($_FILES['image'])){
  echo $_FILES['image']['tmp_name'];
    }

你也可以使用

print_r($_FILES);
于 2012-10-28T12:48:28.717 回答