2011-07-13 17 views
5

Mam kod php do przycinania białej krawędzi zewnętrznej i zmiany rozmiaru. Kiedy używam imagejpeg ($ newImage) do wyprowadzania go w przeglądarce, działa dobrze, ale kiedy próbuję zapisać do użycia imagejpeg ($ newImage, "test.jpg"), nie jest on zapisywany nigdzie. Prosimy o pomoc?Plik zapisu imagejpeg PHP nie działa

$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

Czy pojawiają się komunikaty o błędach, ostrzeżenia lub powiadomienia? Upewnij się, że folder, w którym pisze, ma odpowiednie uprawnienia? – Jake

+0

Nie otrzymuję żadnych komunikatów o błędach, ale mam rację. Właśnie wykonałem test z poprawnymi uprawnieniami i zadziałało. Dzięki! – Shubo

+1

Zawsze testuj, czy możesz pisać do katalogu: 'is_writable ('./')' –

Odpowiedz

4

Wystarczy, aby umieścić odpowiedź w polu odpowiedzi, ale problem z tym, że uprawnienia do pliku nie były dobre. Przed napisaniem pliku w PHP nie zapomnij przetestować miejsca, w którym chcesz zapisać pliki, korzystając z is_writable