[英]Multiple file upload script with thumbnail creation not working, not getting errors
Script below is not working. 下面的脚本不起作用。 Not getting any php error messages. 没有得到任何PHP错误信息。 Had asked a similar question, changed around thumbnail creation and if I had updated that question it would not have been seen at all. 曾问过一个类似的问题,围绕缩略图的创建进行了更改,如果我更新了该问题,根本不会看到它。
Code is not getting past file type check. 代码没有通过文件类型检查。 The input type of file has a name of multifile[]. 文件的输入类型的名称为multifile []。
if ((($_FILES['multifile']['type'][$key] == "image/png") ||
($_FILES['multifile']['type'][$key] == "image/jpeg") ||
($_FILES['multifile']['type'][$key] == "image/pjpeg") &&
($_FILES['multifile']['size'][$key] < 2097152)))
{
if(count($_FILES['multifile']['name']))
{
foreach ($_FILES['multifile']['name'] as $key => $filename)
{
$filename = time().'_'.$_FILES['multifile']['name'];
$source = $_FILES['multifile']['tmp_name'];
$target = 'uploads/'.$filename;
if(move_uploaded_file ($_FILES['multifile']['tmp_name'][$key],$target))
{
createThumbnail($filename);
//database insert here
echo '<div class="success" style="margin-right:25px;">Images added, view individual album to edit image descriptions</div>';
}
}
}
}
else
{
echo '<div class="error">Invalid file, only jpg, jpeg, or png file types allowed</div>';
}
Here is print_r of $_FILES 这是$ _FILES的print_r
Array ( [name] => Array ( [0] => image1.png [1] => image2.png ) [type] => Array ( [0] => image/png [1] => image/png ) [tmp_name] => Array ( [0] => /tmp/php1rPxh5 [1] => /tmp/phpsGsA2I ) [error] => Array ( [0] => 0 [1] => 0 ) [size] => Array ( [0] => 27594 [1] => 24466 ) )
change your if to this 改变你是否
if ((($_FILES['multifile']['type'][$key] == "image/png") ||
($_FILES['multifile']['type'][$key] == "image/jpeg") ||
($_FILES['multifile']['type'][$key] == "image/pjpeg")) &&
($_FILES['multifile']['size'][$key] < 2097152))
this makes it read as if extension is Ok AND if size is Ok 这使它看起来好像扩展名是确定的,如果大小是确定的
I personally believe if you are using count then use it this way 我个人认为,如果您使用计数,请以这种方式使用
if(count($_FILES['multifile']['name']) >0)
Also if possible can you give output of print_r($_FILES['multifile']) 另外,如果可以的话,您可以输出print_r($ _ FILES ['multifile'])
for($i=0;$i< count($_FILES['multifile']['type']);$i++){
echo "i:".$i."<br/>";
if ((($_FILES['multifile']['type'][$i] == "image/png") ||
($_FILES['multifile']['type'][$i] == "image/jpeg") ||
($_FILES['multifile']['type'][$i] == "image/pjpeg")) &&
($_FILES['multifile']['size'][$i] < 2097152))
{
echo "icond:".$i."<br/>";
$filename = time().'_'.$_FILES['multifile']['name'][$i];
$target = 'uploads/'.$filename;
if(move_uploaded_file ($_FILES['multifile']['tmp_name'][$i],$target))
{
createThumbnail($filename);
echo '<div class="success" style="margin-right:25px;">Images added, view individual album to edit image descriptions</div>';
}
else
{
echo '<div class="error">Invalid file'.$filename.', only jpg, jpeg, or png file types allowed</div>';
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.