我有一个多图像大小调整脚本。这是 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);
但它不会调整图像大小。可能是什么原因?谢谢
这是你的问题:$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++) {
...
}
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++)