输入type = file使表单在firefox中为空

时间:2016-07-07 11:54:50

标签: php html firefox

我在html中做一个简单的表单来上传图片 在chrome中工作正常但在firefox中由于某种原因变量$_POS T为空

这是我的表格

<form action="do_upload.php" method="POST" enctype="multipart/form-data">
        <fieldset>
            <p>Select a section</p>
                <select name="section" required>
                    <option value="">Please Select</option>
                    <option value="0">Announcements</option>
                    <option value="1">Circulars</option>
                    <option value="2">Corportate Governance</option>
                    <option value="3">Financial Report</option>
                </select>
            <p>Date</p>
                <input type="text" name="date" required>
            <p>Title</p>
                <input type="text" name="title" required>
            <p>Search your file</p>
                <input type="file" name="pdf" required>
            <div class="sep"></div>
            <button type="submit">Do it!</button>
        </fieldset>
    </form>

在我的文件中do_upload.php我只有这个:

print_r($_POST);

即使我填写所有表格,我总是得到数组$_POST

我知道要获取我需要使用全局$_FILE的文件,我只想知道为什么当我使用输入类型文件时,firefox会向我显示一个空数组。

有什么想法吗?我应该能够得到这个:

Array ( [section] => 3 [date] => 07/05/2016 [title] => 123 )

2 个答案:

答案 0 :(得分:1)

如果您的输入类型为file,则必须通过$_FILES["pdf"]访问服务器端的值。

<强>描述

通过HTTP POST方法上传到当前脚本的关联项目数组。 POST方法上传部分概述了此数组的结构。

请参阅:http://php.net/manual/en/reserved.variables.files.php

并且:http://php.net/manual/en/features.file-upload.post-method.php

答案 1 :(得分:0)

每当你进行文件上传时,文件都会在$ _FILES全局变量中填充,而其他字段会在$ _POST全局变量中填充。

echo $_FILES['pdf']['name'];