文件上传PHP JPG问题

时间:2013-03-04 17:08:03

标签: php file file-upload upload jpeg

我在使用文件上传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)输出:
数组(
[upload1] =>数组(
[name] => volvo1.png
                     [type] => image / png
                     [tmp_name] => C:\ wamp \ tmp \ php14AD.tmp
                     [错误] => 0
                     [size] => 6380)

[upload2] =>数组(
[name] => IMG0379.JPG
                     [type] => [tmp_name] =>
                     [错误] => 1
                     [size] => 0)

2 个答案:

答案 0 :(得分:2)

问题已解决,对于那些可能遇到相同问题的人来说,解决方案就像更改php.ini中的upload_max_filesize一样简单。

答案 1 :(得分: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