Nigdy nie używaj file_get_contents do wykonywania zapytań URL
Dlaczego nie powinieneś nigdy używać file_get_contents
Jako każdy programista z natury jestem leniwy. Staram się osiągać jak najwięcej przy minimalnym wysiłku.
Dlatego, kiedy używam PHP do pobierania czegoś, używam file_get_contents
, aby wykonywać zapytania i pobierać dane z innych usług. Ogólnie mówiąc, mój ulubiony fragment wygląda tak:
Problem
To nie jest takie złe - jedynym problemem jest obsługa błędów. Jeśli coś pójdzie nie tak, trudno jest dowiedzieć się, co się dzieje. Oczywiście można coś takiego zrobić:
$result = file_get_contents("http://example.com");
if ($result === false) {
var_dump($http_response_header);
}
ale to dość kiepski sposób obsługi błędów, a następnie trzeba szukać szczegółów w tablicy.
Rozwiązanie
To jakie jest rozwiązanie? Jest dość proste - użyj biblioteki CURL
:
Co to różni? Dostajesz znacznie bardziej szczegółowe informacje o błędach i możesz łatwo podjąć działania na podstawie dokładnego błędu.