Nigdy nie używaj file_get_contents do wykonywania zapytań URL

Dlaczego nie powinieneś nigdy używać file_get_contents

Spis treści

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.