在使用文件上传 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
[类型] => 图片/png
[tmp_name] => C:\wamp\tmp\php14AD.tmp
[错误] => 0
[尺寸] => 6380 )
[upload2] => 数组 (
[名称] => IMG0379.JPG
[类型] => [tmp_name] =>
[错误] => 1
[大小] => 0 )
)
最佳答案
问题已解决,对于那些可能遇到同样问题的人来说,解决方案很简单,只需更改 php.ini 中的 upload_max_filesize 即可。
php.ini 可以在以下位置找到:
- Ubuntu:/etc/php/5.6/apache2/php.ini
- Windows:C:\xampp\php\php.ini
- Mac:/usr/local/etc/php/8.1/php.ini
或者你甚至可以这样做 php-i | grep php.ini
关于php - 文件上传 PHP JPG 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15207022/