2011-07-13 52 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