【发布时间】:2013-02-18 20:43:40
【问题描述】:
我在使用文件上传 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)
)
【问题讨论】:
-
请
print_r($_FILES)并检查整个数组。 -
检查上传过程中是否有错误。应该有一个值表明这一点。
var_dump($_FILES);查看所有内容。 -
可能是 JPG 太大了。
$_FILES['upload1']['error'];中的任何内容? -
啊哈,发现错误1表示文件大小错误。
-
@halfer - 很遗憾我不能再做两天了。有空我会回来处理的。
标签: php file file-upload upload jpeg