Php 上载图像不工作
我试图写一个PHP脚本,可以上传多个文件Php 上载图像不工作,php,file-upload,Php,File Upload,我试图写一个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(
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
}
我应该注意到,$size
和$img
依赖于$filepath
是有效的文件路径
有没有人能提供一些关于我到底出了什么问题或我遗漏了什么的见解?我已经花了一天的时间研究代码了,但是我想不出一个解决方案
更新:
print\r($\u文件)
on 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
)
)
)
我可以假设这意味着图像太大吗?可能会有所帮助
编辑-看起来像是文件大小问题。这两个文件的大小都大约为1.8MB,默认情况下PHP的文件上载限制为2MB。关于这一点,我只能从Windows的角度向您提供建议,但我会在PHP.ini中查找以增加上传的最大文件大小
,或者上传的最大文件大小设置
编辑2-在PHP.net上有一个部分可以。您得到的是1,即:
UPLOAD_ERR_INI_SIZE
Value: 1; The uploaded file exceeds the upload_max_filesize directive in php.ini.
这与我第一次编辑时说的相符。所有这些文件都是同一类型的吗?上传一些文件时,您能给我们一个变量的
var\u dump
?所有上传的变量都是空的还是只有一些
例如,此代码:
<?php
print_r($_FILES);
?>
<html><body>
<form action="test.php" method="post" enctype="multipart/form-data">
<input name="upload[]" type="file" /><br />
<input name="upload[]" type="file" /><br />
<input name="upload[]" type="file" /><br />
<input type="submit" value="Upload" />
</form>
</body></html>
记得检查每个文件的
$\u文件['name']['error']]
。谢谢,这解释了很多,特别是结合Ross关于转储的建议以及我现在发布的结果。我已经发布了结果,我相信这表明问题在于文件大小。
<?php
print_r($_FILES);
?>
<html><body>
<form action="test.php" method="post" enctype="multipart/form-data">
<input name="upload[]" type="file" /><br />
<input name="upload[]" type="file" /><br />
<input name="upload[]" type="file" /><br />
<input type="submit" value="Upload" />
</form>
</body></html>
Array (
[upload] => Array (
[name] => Array (
[0] => IMG_0005.jpg
[1] => IMG_0249.jpg
[2] => IMG_0007.JPG
)
(...snip...)
[size] => Array (
[0] => 1776529
[1] => 1902522
[2] => 798008
)
)
)