【发布时间】:2009-07-14 04:47:43
【问题描述】:
我正在尝试编写一个可以上传多个文件的 PHP 脚本。
for($i=0;$i<count($_FILES['uploadimg']['name']);$i++){
$name = $_FILES['uploadimg']['name'][$i];
$type = $_FILES['uploadimg']['type'][$i];
$filepath = $_FILES['uploadimg']['tmp_name'][$i];
$size = getimagesize($filepath);
$img = file_get_contents($filepath);
//insert into database
}
问题在于变量没有按应有的方式填充。
当我上传 jpeg "image.jpg" 时,我发现变量具有以下值:(通过将数据库代码替换为 echos 和 var_exports)
$name = 'image.jpg'; // good
$type = ''; // not good
$filepath = ''; // not good
$size = false; // not good
$img = false; // not good
我应该注意,我意识到 $size 和 $img 依赖于 $filepath 是一个有效的文件路径。
谁能提供一些关于出了什么问题或我遗漏了什么的见解?我已经玩了一天的代码,但无法提出解决方案。
更新:
print_r($_FILES) 3 张图片返回:
Array (
[uploadimg] => Array (
[name] => Array (
[0] => test1.jpg
[1] => test2.jpg
[2] => test3.jpg
)
[type] => Array (
[0] => image/jpeg
[1] =>
[2] => image/jpeg
)
[tmp_name] => Array (
[0] => /tmp/phpkC6f2F
[1] =>
[2] => /tmp/phpgFrPl8
)
[error] => Array (
[0] => 0
[1] => 1
[2] => 0
)
[size] => Array (
[0] => 238906
[1] => 0
[2] => 237308
)
)
)
我可以假设这意味着图像太大了吗?
【问题讨论】:
标签: php file-upload