2011-07-13 51 views
5

我有PHP代码来修剪白色的外边框和调整大小。当我使用imagejpeg($ newImage)输出浏览器时,它工作正常,但是当我尝试保存到使用imagejpeg($ newImage,'test.jpg')时,它不会保存到任何地方。请帮助?PHP imagejpeg保存文件不起作用

$im = imagecreatefromjpeg($src); 
$bg = imagecolorallocate($im,$rgb,$rgb,$rgb); 


// Set the header and output image. 
header('Content-type: image/jpeg'); 
imagetrim($im,$bg); 
$width = imagesx($im); 
$height = imagesy($im); 
$newHeight = $height * $newWidth/$width; 

$newImage = imagecreatetruecolor($newWidth, $newHeight); 
imagecopyresampled($newImage, $im, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); 
//imagejpeg($newImage); 
//header('Content-Type: image/jpeg'); 
imagejpeg($newImage, 'test.jpg'); 
imagejpeg($newImage); 
imagedestroy($im); 
imagedestroy($newImage); 
+3

来测试要保存文件的位置您是否收到任何错误消息,警告或通知?确保它写出的文件夹具有正确的权限? – Jake

+0

我没有收到任何错误消息,但我说的是对的。我只是用正确的权限做了一个测试,结果很奏效。谢谢! – Shubo

+1

总是测试你可以写入一个目录:'is_writable('./')' –

回答

4

只是在答案框中填写答案,问题是文件权限不好。 在使用PHP编写文件之前,请不要忘记使用is_writable