【问题标题】:Issue with uploading multiple files on a single html page using php使用php在单个html页面上上传多个文件的问题
【发布时间】:2015-05-04 14:39:36
【问题描述】:

我正在尝试构建一个网页,用户可以在其中编辑其公共页面上描绘的图像。他们的公共页面上显示了 3 张图片,我设置了 3 个 HTML 表单来处理这 3 个单独的文件。

我只有下面列出的 1 个,因为一旦我找到了 1 的修复,我就可以将修复复制到其他 2,

我的网站上有其他上传页面,它们工作正常,但由于某种原因,这个页面给我带来了麻烦。我可以选择一个文件,但是当我想上传它时,我的 php 代码没有读取到有任何东西被发布。

*我已经注释掉了函数调用(我知道它有效)我只需要知道为什么我的 php 代码不会读取那里有一个文件。

如果我不得不猜测它是如何命名的,或者它是如何被扔到 php 代码中的。

代码如下所示:

                                            <div class="academic" style="width:250px;">
        <br>
        <?php 




        if(isset($_FILES['aca']) === true)
        {
            echo 'please print';  //It doesn't
            if(empty($_FILES['aca']['name']) === true)
            {
            echo 'Please choose a file! <br>';
            }
            else
            {

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

                $file_name = $_FILES['aca']['name']; 

                $file_extn = strtolower(end(explode('.', $file_name)));
                $file_temp = $_FILES['aca']['tmp_name'];
                echo '<br>';
                echo '<br>';
                print_r($_FILES['aca']['tmp_name']);
                echo '<br>';
                echo '<br>';
                if(in_array($file_extn, $allowed) === true) {

                //upload_image($file_temp,$file_extn);

                echo 'You have uploaded a picture!';
                echo '<b><h3>Press submit again to finish the upload</h3></b>';
                //echo "<script>window.top.location='../hidden/viewPNM.php?id=$permi'</script>";


                }
                else
                {
                echo 'Incorrect File Type!! <br> Allowed: ';
                echo implode(', ', $allowed);

                }

            }

        }


        ?>
        <form action="" method="post" enctype="multipart/form-data">
        <input type="file" name="aca" id="aca"> 
        <input type="submit" value="Upload">
        </form>

        </div>
        </span>

【问题讨论】:

  • 发帖后有没有任何输出?
  • 什么都没有发生。该页面似乎会重新加载,但在任何时候都没有打印任何内容。任何重定向或函数调用都被注释掉,不应重定向或发送到函数页面,但它不会打印出“请打印”,因此它不会认为 $_FILES['aca'] 已设置。
  • 请同时发布表单代码。我找不到您的代码有任何问题。我会尝试将if(isset($_FILES['aca']) === true) 更改为if(isset($_FILES['aca'])(删除=== true)
  • 表单代码发布在 php 下方,因为它是在我的实际代码中设置的。表格如下:&lt;form action="" method="post" enctype="multipart/form-data"&gt; &lt;input type="file" name="aca" id="aca"&gt; &lt;input type="submit" value="Upload"&gt; &lt;/form&gt;
  • 编辑了我的评论,请再次阅读并尝试我添加的内容。 :)

标签: php html file upload


【解决方案1】:

好的...您可以尝试以下操作:

将整个 PHP 代码移动到表单代码下。我记得有时会发生奇怪的错误,并且代码没有运行

如果这不起作用,请执行以下操作:

  1. &lt;input type="file" name="aca" id="aca"&gt; 更改为&lt;input multiple="true" type="file" name="aca[]" /&gt;

  2. 在提交按钮上方添加此代码:&lt;input type="hidden" name="sendfiles" value="Send Files" /&gt;

  3. if(isset($_FILES['aca']) === true)替换为if(isset($_POST['sendfiles']))

如果这不起作用,我可以为您提供一种方法,允许通过一个按钮上传多个文件。 (从我之前做的网站上拿了代码)

【讨论】:

  • 如果您的网站允许上传文件,您是否检查过您的 Php.ini?
  • 是的,我确实确保 php.ini 允许上传文件。
猜你喜欢
  • 2013-10-12
  • 1970-01-01
  • 2014-08-15
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 2018-03-05
  • 2013-07-08
  • 1970-01-01
相关资源
最近更新 更多