1

我在使用文件上传 HTML 表单和一些 PHP 来处理输入时感到困惑。在表单中,我有两个图像文件选择。上传 .png 文件时,我可以使用 $_FILES 获取文件大小等。但是,当我尝试上传 .jpg 文件时,我无法获得比文件名更多的信息,没有大小、类型、临时名称。

当一次上传两个文件时,.png 和 .jpg,一切都适用于 .png 文件,但不适用于 .jpg。

我在这里想念什么?将 $_FILES 与 .jpg 文件类型或我不知道的其他内容一起使用时是否有任何“限制”?

示例代码:

    if (isset($_FILES['upload1'])) {            // JPG FILE
        $fileName1 = $_FILES['upload1']['name'];
        $fileSize1 = $_FILES['upload1']['size'];
        echo $fileName1;
        echo $fileSize1;
    }
    if (isset($_FILES['upload2'])) {            // PNG FILE
        $fileName2 = $_FILES['upload2']['name'];
        $fileSize2 = $_FILES['upload2']['size'];
        echo $fileName2;
        echo $fileSize2;
    }

输出类似(不带括号):

"filename1.jpg" "0" "filename2.png" "12313"

print_r($_FILES) 输出:
Array (
[upload1] => Array (
[name] => volvo1.png
[type] => image/png
[tmp_name] => C:\wamp\tmp\php14AD.tmp
[error] => 0
[size] => 6380)

[upload2] => Array (
[name] => IMG0379.JPG
[type] => [tmp_name] =>
[error] => 1
[size] => 0)
)

4

2 回答 2

3

Issue solved, for those that might encounter the same issue the solution is as easy as to change the upload_max_filesize in php.ini.

于 2013-03-04T18:03:20.333 回答
0

Markus 对,更改 /etc/php/7.3/apache2/php.ini 中的 upload_max_filesize

; http://php.net/upload-max-filesize
upload_max_filesize = 200M

如果仍然没有,也许安装这些库

apt-get install -y libpng-dev 
apt-get install -y    libwebp-dev 
apt-get install -y    libjpeg62-turbo-dev 
apt-get install -y    libjpeg-dev 
apt-get install -y    libpng-dev libxpm-dev 
apt-get install -y    libfreetype6-dev
于 2020-05-28T08:00:31.007 回答