我正在尝试使用代码调整图片大小:
list($width,$height,$type,$attr)= getimagesize($_FILES['upload'.$num]['name']);
$source = imagecreatefrompng($_FILES['upload'.$num]['name']);
$thumb = imagecreatetruecolor(445,320);
imagealphablending($thumb, false);
imagesavealpha($thumb, true);
imagecopyresampled($thumb,$source,0,0,0,0,445,320,$width,$height);
imagepng($thumb,"../public/img/".$Nome,8);
but the output is always a black image.. anyone know why?
由于
答案 0 :(得分:1)
$_FILES['upload'.$num]['name']
只是上传的文件名,如“flower.jpg”,不是文件的完整路径。
$_FILES['upload'.$num]['tmp_name']
是上传到服务器上的真实文件的真正绝对路径(临时目录中的某个地方)
您的代码应如下所示:
list($width,$height,$type,$attr)= getimagesize($_FILES['upload'.$num]['tmp_name']);
$source = imagecreatefrompng($_FILES['upload'.$num]['tmp_name']);
始终尝试调试您的第一个。使用print_r($_FILES)
,var_dump($_FILES)
等函数调试变量。
除$_FILES
变量问题外,您的代码应该可以正常运行:Demo