Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> @ w funkcjach na nginxie?, wyłączenie błędów
warder
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 12.12.2010

Ostrzeżenie: (0%)
-----


Cześć, mam wtyczkę w PHP, która działa dobrze na serwerze Apache, część kodu odpowiedzialna za wykrywanie rozszerzenia zdalnego obrazka:

  1. //#####################################
  2. // determine image type
  3. //#####################################
  4.  
  5. // declare variables
  6. $is_gif = false;
  7. $is_jpg = false;
  8. $is_png = false;
  9.  
  10. $im = @imagecreatefromgif($tempFullPath);
  11. if ($im)
  12. {
  13. $is_gif = true;
  14. }
  15.  
  16. $im = @imagecreatefromjpeg($tempFullPath);
  17. if ($im)
  18. {
  19. $is_jpg = true;
  20. }
  21.  
  22. $im = @imagecreatefrompng($tempFullPath);
  23. if ($im)
  24. {
  25. $is_png = true;
  26. }
  27.  
  28. if ($is_gif == false AND $is_jpg == false AND $is_png == false)
  29. {
  30. $done = 'yes';
  31. }



jednak problem pojawia się, gdy użyje jej na serwerze nginx, a dokładnie gdy obrazek nie ma rozszerzenia JPG tylko PNG, to skrypt nie wykonuje się dalej, a w logach wysypuje błędem:
Kod
ErrorException: Fatal Error: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: Not a JPEG file: starts with 0x89 0x50 - library/Andy/ConvertImage/DataWriter.php:216


W php.ini mam wyłączyłem pokazywanie błędów (display_errors Off), jednak to nic nie dało, czy jest jakiś sposób, aby skrypt się wykonywał dalej?
Dokładna linijka odpowiedzialna za błąd to:
Kod
$im = @imagecreatefromjpeg($tempFullPath);


tak jakby małpa nie wyłączała błędów na nginxie... (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Swoją drogą, czy na pewno ten plik który przetwarzasz to jest jpeg?
@ohm a teraz wez jeszcze raz na spokojnie przeczytaj tresc pytania, tym razem ze zrozumieniem (IMG:style_emoticons/default/wink.gif) Analiza kodu rowniez moze ci pomoc (IMG:style_emoticons/default/wink.gif)

@warder z jakies powodu ty tam masz rzucony wyjatek.
imagecreatefromjpeg() nie rzuca wyjatkiem wiec ten wyjatek musi byc rzucany przez framework, ktorego uzywasz. Tak mi sie zdaje.
sprobuj objac to blokiem TRY CATCH moze pomoze.

@ gasi bledy w standardowej obsludze bledow. Gdy bledy przechodza przez rozne frameworki to juz to nie bedzie dzialac.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 02:47