2012-02-16 10 views
7

Podczas przesyłania obrazu Dostaję taki błąd: (max 8Mb obrazu)Jak mogę złapać ten błąd? (POST Content-Length ...)

Warning: POST Content-Length of 14259306 bytes exceeds the limit of 8388608 bytes in Unknown on line 0 

Jak mogę wyświetlić ten komunikat customly? Chodzi mi o to, że chcę wprowadzić ten błąd w stylu CSS. dziękuję ....

Odpowiedz

7

W przypadku typowych błędów należy ustawić obsługę błędów. Aby uzyskać szczegółowe informacje, patrz here. ALE

If errors occur before the script is executed (e.g. on file uploads) the custom error handler cannot be called since it is not registered at that time.

+0

Jest to ważna informacja, że ​​nie można złapać błąd w PHP. –

5
if ($_SERVER['CONTENT_LENGTH'] < 8380000) { 
... your code 
} else { 
    ... Your Error Message 
} 

Można również zwiększyć maksymalny rozmiar w php.ini

post_max_size = 60M 
upload_max_filesize = 60M 
+2

Nadal dostaję ostrzeżenie ... –

-4

Wrap upload w try/catch. Złap błąd i obsłużyć w CATCH.

try { 
    :: file upload :: 
} catch (Exception $e) { 
    echo 'Caught exception: ', $e->getMessage(), "\n"; 
} 
+0

nie działa ... :( –

+0

Nie generuje wyjątku generuje ostrzeżenie php. Działa to tylko wtedy, gdy używa 'set_error_handler' do użycia niestandardowej funkcji, która zgłasza wyjątki, gdy błędy PHP są – prodigitalson

+0

Masz rację, czy próbowałeś rozwiązania Kevina? –

7

Może chcesz spróbować czegoś takiego.

if (isset($_SERVER["CONTENT_LENGTH"])) 
if($_SERVER["CONTENT_LENGTH"]>((int)ini_get('post_max_size')*1024*1024)) 
die('<script type="text/javascript">window.open("some page youre gonna handle the 
error","_self"); 
</script>'); 
+2

Nadal dostaję ostrzeżenie ... –

0

Zastosowanie the answer od @ Batu-Zet sprawdzić w kodzie, a następnie upewnij się display_errors jest wyłączony w pliku php.ini:

display_errors=Off 
Powiązane problemy