我有一个多图像大小调整脚本。这是HTML部分
<td><input type="file" name="fileUpload[]"><br>
<input type="file" name="fileUpload[]"><br>
<input type="file" name="fileUpload[]"><br>
<input type="file" name="fileUpload[]"><br>
<input type="file" name="fileUpload[]"><br></td>
这是php部分
for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
{
if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
{
$images = $_FILES["fileUpload"]["tmp_name"][$i];
$new_images = "thumbnails_".$_FILES["fileUpload"]["name"][$i];
copy($_FILES["fileUpload"]["tmp_name"][$i],"uploads/".$_FILES["fileUpload"]["name"][$i]);
$width=100;
$size=GetimageSize($images);
$height=round($width*$size[1]/$size[0]);
$images_orig = ImageCreateFromJPEG($images);
$photoX = ImagesX($images_orig);
$photoY = ImagesY($images_orig);
$images_fin = ImageCreateTrueColor($width, $height);
ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
ImageJPEG($images_fin,"uploads/".$new_images);
ImageDestroy($images_orig);
ImageDestroy($images_fin);
但它没有调整图像大小。可能是什么原因? 感谢
答案 0 :(得分:0)
以下是您的问题:$i<count($_FILES["fileUpload"]["name"])
。 $_FILES["fileUpload"]
是一个文件数组,每个文件都有一个name
键。另一方面,$_FILES["fileUpload"]["name"]
未定义。您需要`$i<count($_FILES["fileUpload"])
。
另外,作为一般规则,不要做这种循环:
for($i=0; $i<count(...); $i++) {
...
}
在一个小阵列上,这很好,但是有一个大数组,在每个循环上计算count()是一个巨大的打击。最好这样做:
$count = count(...);
for($i=0; $i<$count; $i++) {
...
}
答案 1 :(得分:0)
copy($_FILES["fileUpload"]["tmp_name"][$i],"uploads/".$_FILES["fileUpload"]["name"][$i]);
将其更改为move_uploaded_file(...);
这也错了:
for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
将其更改为:
for($i=0;$i<count($_FILES["fileUpload"]);$i++)