我一直在尝试使用php调整图像大小但是我在使用imagecreatefromjpeg函数工作时遇到了问题。当我尝试显示图像时,屏幕上会出现一大堆字符,而不是图像。我也没有看到任何错误。
所以,最初我尝试使用此功能调整图像大小。显示了一堆随机字符,所以我想我会简化调试。
function chgSize($image, $width, $height){
$name = $image["name"]; //this is displaying the file name correctly
$temp = $image["tmp_name"];
$imageContents = imagecreatefromjpeg($temp);
$blankImage = imagecreatetruecolor(100,100);
if(imagecopyresampled($blankImage, $imageContents, 0, 0, 0, 0, 100, 100, $width, $height)){
header('Content-type: image/jpeg');
imagejpeg($blankImage, $name); //name the image and output it
//$this->saveImage($formattedImage); //save the image, commented out for testing purposes
}
}
编辑 - 我开始工作了。我没有意识到imagejpeg中的第二个参数是路径,而不仅仅是图像的名称。在PHP的网站上,参数2在每个实例中都显示为名称,所以我认为就是这样。
答案 0 :(得分:2)
您尚未输出内容类型标题,以向浏览器指示您正在通过JPEG图像数据发送。添加
header('Content-type: image/jpeg');
在你的imagejpeg()调用之前。
答案 1 :(得分:1)
您是否尝试使用正确的标题?
header('Content-Type: image/jpeg');
您还应该确保在此之前不输出任何文字。
答案 2 :(得分:1)
听起来像是在打印jpeg的原始数据。我不确定您的预期应用是什么,但您应该:
header('Content-Type: image/jpeg');