文件上传PHP JPG问题

问题描述 投票:1回答:2

我在使用一个文件上传的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) outputs: Array ( [upload1] => Array ( [name] => volvo1.png [type] => imagepng [tmp_name] => C:\wamp\tmp\php14AD. tmp [error] => 0 [size] => 6380 ) [upload2] => Array ( [name] => IMG0379.JPG [type] => [tmp_name] => [error] => 1 [size] => 0 ) )

php file file-upload upload jpeg
2个回答
3
投票

问题解决了,对于那些可能遇到同样问题的人来说,解决方法很简单,只要修改php.ini中的upload_max_filesize即可。


0
投票

Markus 是的,修改 etcphp7.3apache2php.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
© www.soinside.com 2019 - 2024. All rights reserved.