Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在IE6中上载大于10Mb的文件时出现问题_Php_Apache_Upload_Internet Explorer 6 - Fatal编程技术网

Php 在IE6中上载大于10Mb的文件时出现问题

Php 在IE6中上载大于10Mb的文件时出现问题,php,apache,upload,internet-explorer-6,Php,Apache,Upload,Internet Explorer 6,嘿。这段代码适用于大多数浏览器,甚至部分适用于IE6。它上载的文件小于10Mb(大约),但不大于10Mb。该代码指定允许使用这些文件 另外,请注意,整个文件似乎在被忽略之前已传输到服务器 该网站位于,可通过在购物车中添加项目,然后单击上载功能访问。想法 表格如下: <form enctype="multipart/form-data" action="upload_files.php?order_id=<?php echo $_GET['order_id'] ?>" metho

嘿。这段代码适用于大多数浏览器,甚至部分适用于IE6。它上载的文件小于10Mb(大约),但不大于10Mb。该代码指定允许使用这些文件

另外,请注意,整个文件似乎在被忽略之前已传输到服务器

该网站位于,可通过在购物车中添加项目,然后单击上载功能访问。想法

表格如下:

<form enctype="multipart/form-data" action="upload_files.php?order_id=<?php echo $_GET['order_id'] ?>" method="POST">
    <table style="width:100%">
        <tr>
            <td valign="top">
                <span class="style1">Choose a file to upload: </span> 
            </td>
            <td valign="top">
                <input name="uploadedfile" type="file" />
            </td>
        </tr>
    </table>
    <input type="submit" value="Upload File" />
    <input type="hidden" name="action" value="add"/>
    <input type="hidden" name="MAX_FILE_SIZE" value="100000000" />
</form>
<input type="hidden" name="MAX_FILE_SIZE" value="100000000" />
下面是upload_file()代码:


这可能无法修复它,但在一个线程上,我读到它说IE6需要在输入文件名之前处理MAX_FILE_SIZE行。因此,请尝试将以下行移动到表单顶部:

<form enctype="multipart/form-data" action="upload_files.php?order_id=<?php echo $_GET['order_id'] ?>" method="POST">
    <table style="width:100%">
        <tr>
            <td valign="top">
                <span class="style1">Choose a file to upload: </span> 
            </td>
            <td valign="top">
                <input name="uploadedfile" type="file" />
            </td>
        </tr>
    </table>
    <input type="submit" value="Upload File" />
    <input type="hidden" name="action" value="add"/>
    <input type="hidden" name="MAX_FILE_SIZE" value="100000000" />
</form>
<input type="hidden" name="MAX_FILE_SIZE" value="100000000" />

我不知道它是否有效,IE6要求按照这个顺序对其进行解析,但这就是我读到的线程所说的解决方案


还要检查php.ini的最大文件大小和超时。

检查
php.ini中的以下设置:

  • upload\u max\u filesize
    需要大于10MIB(
    10M

  • post\u max\u size
    需要至少比
    upload\u max\u filesize
    大40%

  • 之所以需要这样做,是因为一些旧的用户代理将使用base64编码进行上传,这会给数据增加37%的开销。添加mime头和其他post参数,有很多理由使其高于
    upload\u max\u filesize

  • 最大输入时间
    至少需要900(15分钟)

  • 您希望给用户足够的时间上载其文件。

    最大文件大小对客户端绝对没有影响。事实上,你可以删除它。没错,似乎没有浏览器注意到它。我在某个论坛上读到:“MAX_FILE_SIZE隐藏字段(以字节为单位)必须位于文件输入字段之前,其值是可接受的最大文件大小。这是对浏览器的建议,PHP也会检查它。在浏览器端愚弄此设置非常容易,因此永远不要依赖此功能阻止的文件大小更大。“@montooner:在配置更改后,您可能需要重新启动Apache。
    <input type="hidden" name="MAX_FILE_SIZE" value="100000000" />