$\u文件未获取文件并导致未定义的变量PHP

$\u文件未获取文件并导致未定义的变量PHP,php,html,Php,Html,我正在尝试从html表单发送一个图像文件,以便将其插入数据库。不幸的是,它无法工作,因为文件未发布 所有其他变量都在工作,我回显它们以进行检查,但文件没有。我的问题在哪里?我认为它是在html表单中,插入的变量也在相同的表单中,但在不同的分区中,因此post实际上会将表单中的所有数据发送到post.php,而不是图像文件 如您所见,我已经包含了“enctype=“multipart/form data” 需要帮忙吗 1) HTML标记: <form action="post.php" m

我正在尝试从html表单发送一个图像文件,以便将其插入数据库。不幸的是,它无法工作,因为文件未发布

所有其他变量都在工作,我回显它们以进行检查,但文件没有。我的问题在哪里?我认为它是在html表单中,插入的变量也在相同的表单中,但在不同的分区中,因此post实际上会将表单中的所有数据发送到post.php,而不是图像文件

如您所见,我已经包含了“enctype=“multipart/form data”

需要帮忙吗

1) HTML标记:

 <form action="post.php" method="post" enctype="multipart/form-data">
     <input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="300000"/>
    <div>
        <input type="file" id="fileselect" name="fileselect[]" multiple accept="image/*"/>
        <div id="filedrag">or drop files here</div>
    </div>

    <div id="submitbutton">
        <button type="submit">Upload Files</button>
    </div>
</form> 

或者把文件放在这里
上传文件
2) PHP代码:

$title=isset($_POST['title'])?$_POST['title']:false;
$desc=isset($_POST['description'])?$_POST['description']:false;
$date=date("Y-M-D");
$city=isset($_POST['city'])?$_POST['city']:false;
$user=isset($_POST['name'])?$_POST['name']:false;
$price=isset($_POST['price'])?$_POST['price']:false;
$table=isset($_POST['option'])?$_POST['option']:false;
$imgfile=isset($_FILE['file']['name'])?$_FILE['fileselect']['name']:false;
$tmp_dir=isset($_FILE['fileselect']['tmp_name'])?$_FILE['fileselect'['tmp_name']:false;

$img_size=isset($_FILE['fileselect']['size'])?$_FILE['fileselect']['size']:false;
$upload_dir='images/'; // directory
     $imgExt=strtolower(pathinfo($imgfile,PATHINFO_EXTENSION)); // GET IMAGE EXTENSION

     $valid_ext=array('jpeg','jpg','png','gif');

     //rename uploading image

     $item_img=rand(1000,1000000).".".$imgExt;
     // allow valid image format

     if(in_array($imgExt, $valid_ext))
     {
         if($img_size < 500000)
         {
             move_uploaded_file($tmp_dir,$upload_dir.$item_img);
         }
         else{
             $erMsg="Sorry , your file is too large";
         }
     }
     else{
         $erMsg="Sorry,only JPG,JPEG,PNG & GIF files are accepted :)";
     }


$query = $pdo->prepare('INSERT INTO '.$table .'(title,description,image,date,city,user,price) VALUES(:title, :description, :image, :date, :city, :user, :price)');

$query->bindParam(':title', $title);
$query->bindParam(':description', $desc);
$query->bindParam(':image', $item_img);
$query->bindParam(':date', $date);
$query->bindParam(':city', $city);
$query->bindParam(':user', $user);
$query->bindParam(':price', $price);
$title=isset($\u POST['title'])?$\u POST['title']:false;
$desc=isset($_POST['description'])?$_POST['description']:false;
$date=日期(“Y-M-D”);
$city=isset($_POST['city'])?$_POST['city']:false;
$user=isset($\u POST['name'])?$\u POST['name']:false;
$price=isset($\u POST['price'])?$\u POST['price']:false;
$table=isset($\u POST['option'])?$\u POST['option']:false;
$imgfile=isset($\u文件['FILE']['name'])?$\u文件['fileselect']['name']:false;
$tmp_dir=isset($_FILE['fileselect']['tmp_name'])?$_FILE['fileselect'['tmp_name']:false;
$img_size=isset($_FILE['fileselect']['size'])?$_FILE['fileselect']['size']:false;
$upload_dir='images/';//目录
$imgExt=strtolower(路径信息($imgfile,路径信息_扩展));//获取图像扩展
$valid_ext=array('jpeg','jpg','png','gif');
//重命名上载图像
$item_img=兰特(10000000)。“..$imgExt;
//允许使用有效的图像格式
if(在数组中($imgExt,$valid\u ext))
{
如果($img_尺寸<500000)
{
移动上传的文件($tmp\U dir,$upload\U dir.$item\U img);
}
否则{
$erMsg=“对不起,您的文件太大”;
}
}
否则{
$erMsg=“对不起,只接受JPG、JPEG、PNG和GIF文件:)”;
}
$query=$pdo->prepare('INSERT INTO'.$table.'(标题、描述、图像、日期、城市、用户、价格)值(:title、:description、:image、:date、:city、:user、:price));
$query->bindParam(':title',$title);
$query->bindParam(':description',$desc);
$query->bindParam(':image',$item\u img);
$query->bindParam(':date',$date);
$query->bindParam(':city',$city);
$query->bindParam(':user',$user);
$query->bindParam(':price',$price);

如果您使用的是图像等文件,请使用
如果您使用的是图像等文件,请使用
从表单发送文件,表单应具有正确的
enctype
属性

<form action="script.php" enctype="multipart/form-data" method="post">
    <input type="file" name="file">
    <input type="submit">
</form>

要从表单发送文件,它应该具有正确的
enctype
属性

<form action="script.php" enctype="multipart/form-data" method="post">
    <input type="file" name="file">
    <input type="submit">
</form>

你有没有看到你的台词有错

$tmp_dir=isset($_FILE['fileselect'['tmp_name'])$_FILE['fileselect'['tmp_name']:false;
fileselect
之后缺少
]


检查一下

你有没有看到你的台词有错

$tmp_dir=isset($_FILE['fileselect'['tmp_name'])$_FILE['fileselect'['tmp_name']:false;
fileselect
之后缺少
]


检查一下

使用enctype=“multipart/form data”使用
enctype=“multipart/form data”
使用enctype=“multipart/form data”使用
enctype=“multipart/form data”
根据本网站规则,答案应作为答案发布,而不是评论!我已经编辑添加了“enctype”,因为它被包括在内,但仍然不能工作。我的错,还是没有working@JeanOuédraogo也许数组名有输入错误?它应该是
$\u文件
(多种形式),而您的codeyeah作品中有
$\u文件
,这就是错误,thanks@JeanOu如果解决了你的问题,考虑接受这个答案。下面是如何返回此处并对勾号/复选标记执行相同操作,直到其变为绿色。这会通知社区,找到了解决方案。否则,其他人可能会认为问题仍然悬而未决,并可能希望发布(更多)答案。另外,对你提出的任何其他问题都要做同样的事情。根据本网站的规则,答案应该作为答案发布,而不是评论!我已经编辑添加了“enctype”,因为它被包括在内,但仍然不能工作。我的错,还是没有working@JeanOuédraogo也许数组名有输入错误?它应该是
$\u文件
(多种形式),而您的codeyeah作品中有
$\u文件
,这就是错误,thanks@JeanOu如果解决了你的问题,考虑接受这个答案。下面是如何返回此处并对勾号/复选标记执行相同操作,直到其变为绿色。这会通知社区,找到了解决方案。否则,其他人可能会认为问题仍然悬而未决,并可能希望发布(更多)答案。另外,对你问过的任何其他问题都要做同样的事情。是的,一个已经完成了,谢谢