我的代码有问题吗?多次上传PHP文件

我的代码有问题吗?多次上传PHP文件,php,file,upload,Php,File,Upload,这是我写的代码,我希望它能工作,但肯定有什么地方出错了。我自己搞不懂,请帮帮我 <?php if(isset($_POST['submit'])){ $max_size = 500000; $image_upload_path = "images/products/"; $allowed_image_extension = array('jpg','jpeg','png','gif'); for($i=0;$i<2;$i++) {

这是我写的代码,我希望它能工作,但肯定有什么地方出错了。我自己搞不懂,请帮帮我

<?php

if(isset($_POST['submit'])){

    $max_size = 500000;
    $image_upload_path = "images/products/";
    $allowed_image_extension = array('jpg','jpeg','png','gif');


    for($i=0;$i<2;$i++)
    {
         //check if there is file 
        if((!empty($_FILES['image[]'][$i])) && ($_FILES['image[]']['error'][$i]==0))
        {
            //check extension
            $extension = strrchr($_FILES['image']['name'][$i], '.');
            if(in_array($extension,$allowed_image_extension))
            {
                //check file size.
                if($_FILES['image']['size'][$i] > $max_size)
                {
                    echo "file too big";
                }
                else if($_FILES['image']['size'][$i] < 1)
                {
                    echo "file empty";
                }
                else
                {
                    //we have pass file empty check,file extension check,file size check.
                    $the_uploaded_image = $_FILES['image']['tmp_name'][$i];
                    $the_uploaded_image_name = $_FILES['image']['name'][$i];

                    //replace empty space in filename with an underscore '_'
                    $the_uploaded_image_name = preg_replace('/\s/','_',$the_uploaded_image_name);

                    //get the file extension
                    $the_uploaded_image_extension = explode(',',$the_uploaded_image_name);
                    $the_new_image_name = $the_uploaded_image_name."".md5(uniqid(rand(),true))."".$the_uploaded_image_extension;

                    $save_image_as = $the_new_image_name;
                    //check file exist
                    if(file_exists($image_upload_path."".$the_new_image_name))
                    {
                        echo "file".$image_upload_path."".$the_new_image_name." already exist";
                    }
                    else
                    {
                        if(move_uploaded_file($the_uploaded_image,$save_image_as))
                        {
                            echo "image".$the_uploaded_image_name." uploaded sucessfully";
                            //set the image  path to save in database column
                        }
                        else
                        {
                            echo "there was an error uploading your image.";
                        }
                    }
                }
            }
            else
            {
            echo "extension not allowed";
            }
        }
        else
        {
            echo "please choose file to upload";
        }
    }


}

?>

<html>
<head><title>image upload</title></head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="image[]"/>
    <input type="file" name="image[]"/>
    <input type="submit" value="submit"/>
</form>
</body>
</html>

图片上传
这是我的新PHP代码。我得到两个结果,因为找不到。有人能告诉我我做错了什么吗。if-else条件似乎不起作用,因为这两个条件都提供输出。为什么?

<?php
if(isset($_POST["submit"])) {
    echo $_POST["submit"];
    echo "<br/>";
    for($i=0;$i<count($_FILES['image'])-1;$i++)
    {
        if(!empty($_FILES['image']['tmp_name'][$i]))
        {
            echo "found";    
            echo "<br/>";
        }
        else
        {
            echo "not found";
            echo "<br/>";
        }
    }

}
else
{
    echo "form is not posted";
}

我想最明显的WTF应该是
$\u文件['image[]]][$I]
,它应该是
$\u文件['image'][$I]
(名称中的
[]
使其成为一个数组,而不是名称的一部分)

在没有更多信息的情况下,我不愿意为您排除除此之外的任何故障。在代码中的不同点尝试以下操作:

echo '<pre>';
var_dump($_POST); // or other variables
echo '</pre>';
echo';
var_dump($_POST);//或其他变量
回声';

这将有助于您调试自己的代码,这是您必须学会的。

请您告诉我们发生了什么/没有发生什么?deceze说了什么。请在您的问题中添加一个问题,并描述什么不起作用。我仍然会出现空白屏幕,没有任何错误,输入文件中的图像也不会上载。@罗杰,然后打开错误报告,让脚本转储
$\u文件
。另外@Roger这确实是一个基本调试的案例,这里没有人可以(或将要)这样做为您效劳。首先打开错误报告。然后检查是否设置了
$\u POST[“submit”]
-例如,通过生成测试输出
echo“submit is set!”。然后测试第13行中的条件是否实际满足,例如,通过进行另一个测试输出。等等等等。这里的每一位知识渊博的人都必须经历这一过程——这是我们大家学习的方式感谢你们指出调试代码的方法。这周我自己刚开始学习PHP。