Ich implementiere eine Ajax-Dateiupload für meine PHP-Anwendung (mit CodeIgniter).PHP Warnung demoliert JSON Antwort
Ich erkenne, ob die hochgeladenen POST-Daten zu groß sind (> post_max_size) nach http://andrewcurioso.com/2010/06/detecting-file-size-overflow-in-php/ und versuche, eine entsprechende JSON-codierte Fehlerantwort zu senden.
Aber die entsprechende php Warnung in der Ausgabe zerstört vollständig meine JSON Antwort!
<br />
<b>Warning</b>: POST Content-Length of 105906405 bytes exceeds the limit of 8388608 bytes in <b>Unknown</b> on line <b>0</b><br />
[{"error":"Posted data is too large. 105906405 bytes exceeds the maximum size of 8388608 bytes."}]
Ich will nicht die Warnung heraus auf Client-Seite zu analysieren und zu filtern, das scheint hässlich. Und alle Php-Warnungen global deaktivieren scheint unpassend.
Kann ich bestimmte PHP-Warnungen im Zusammenhang mit einer PHP-Funktion deaktivieren? Oder wickle es innerhalb einer gültigen JSON-Antwort ein?
Sie sollten Fehler in Ihrer Produktionsumgebung sowieso deaktiviert haben ... – lonesomeday
@lonesomeday Ich stimme zu, aber das angegebene Verhalten "Feedback an den Benutzer geben, wenn er versucht, zu große Dateien hochzuladen" sollte in der Produktion und sein Entwicklungs-/Testumgebung. Ich bin kein Fan von "Ja, aber im Produktionsmodus funktioniert es!" ;) –
Normalerweise Fehler in Zeile 0 sind Startup-Fehler, Hinzufügen von 'php_flag display_startup_errors off' zu Ihrem .htaccess sollte es deaktivieren ... hinzugefügt, dass zu meiner Antwort. – xception