Ich habe eine Datei, die eine URL öffnet und liest es und macht das Parsen. Nun, wenn diese URL dwon geht und meine Datei es nicht öffnen kann, dann was ich brauche ist, dass eine Fehlermeldung Mail generiert werden sollte, aber auf Terminal oder Konsole sollte keine Fehlermeldung angezeigt werden. wie kann ich das tun? Plz helfen !!Fehlerbehandlung in PHP
1
A
Antwort
2
Sie können immer etwas tun (ich bin vorausgesetzt, Sie file_get_contents verwenden)
$file = @fopen("abc.com","rb");
if(!$file) {
@mail(.......);
die();
}
//rest of code. Else is not needed since script will die if hit if condition
0
if (!$content = file_get_contents('http://example.org')) {
mail(...);
}
1
Verwenden curl statt, wenn Sie Dateien über das Netzwerk abrufen. Es hat eine integrierte Fehlerbehandlung und es wird Ihnen den aufgetretenen Fehler mitteilen. Die Verwendung von file_get_contents sagt Ihnen nicht, was schief gelaufen ist, es folgt auch nicht den Weiterleitungen.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://domain.com/file');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
if ($result == false) {
$errorInfo = curl_errno($ch).' '.curl_error($ch);
mail(...)
} else {
//Process file, $result contains file contents
}
Verwandte Themen
- 1. DB-Fehlerbehandlung in PHP
- 2. PHP DOMDocument Fehlerbehandlung
- 3. MySql, PHP Fehlerbehandlung
- 4. MAMP pro PHP Fehlerbehandlung Trauer
- 5. PHP: Benutzerdefinierte Fehlerbehandlung für PDO?
- 6. Fehlerbehandlung
- 7. MySQLi Fehlerbehandlung
- 8. Fehlerbehandlung in SQLAlchemy
- 9. Fehlerbehandlung in Swift 3
- 10. Idiomatische Fehlerbehandlung in Clojure
- 11. Fehlerbehandlung in Javascript
- 12. Fehlerbehandlung in Python-MySQL
- 13. Fehlerbehandlung in Angular2
- 14. Fehlerbehandlung in ActiveRecord-Transaktionen?
- 15. Fehlerbehandlung in getJSON-Aufrufen
- 16. Fehlerbehandlung in Twisted-
- 17. Fehlerbehandlung in Error-Handler
- 18. Ajax Fehlerbehandlung in CakePHP
- 19. Fehlerbehandlung in Schluck 4
- 20. Fehlerbehandlung in Sails.js
- 21. Fehlerbehandlung in EventSource
- 22. ASP.NET-Fehlerbehandlung
- 23. android.provider.Settings.Secure.ANDROID_ID Fehlerbehandlung
- 24. OpenSSL-Fehlerbehandlung
- 25. Wochentag Fehlerbehandlung
- 26. ActiveResource Fehlerbehandlung
- 27. vorzuauthorisieren Fehlerbehandlung
- 28. Fehlerbehandlung Flexibilität
- 29. wp7 Fehlerbehandlung
- 30. Lua Fehlerbehandlung
das ist, was im tut, im statt @file_get_contents mit @fopen aber, was ich will, ist, dass Fehler noe auf Terminal/Konsole.By mit dieser Art von Code im immer Fehlermeldung auf dem Terminal angezeigt werden soll, wenn ich ausführen es dort. Ich will, dass kein Fehler msg shud auf termianl erscheinen. – developer
"@" -Zeichen unterdrücken Fehlermeldungen, wahrscheinlich eine andere Codezeile, die das Echo des Fehlers verursacht. Sie sollten einen Code-Schnipsel posten, sonst kann es schwierig sein, einen guten Ratschlag zu geben. – Alekc
$ flag = 0; $ file = @fopen ("abc.com", "rb") oder $ flag = 1; if ($ flag == 1) {mail (.......); sterben(); } else {..........} Dieser Code generiert die Mail so, wie ich es möchte, aber das Problem ist, dass ich diesen Fehler auch auf Terminal/Konsole bekomme, was ich nicht will. Was ich will ist dass kein Fehler auf Terminal/Konsole während der Ausführung dieser Datei erscheinen sollte, auch wenn die URL nicht erreichbar ist .... Ich hoffe Ihr versteht was ich sage ... – developer