PHP file_get_contents не возвращает ошибку, когда она должна

Я использую file_get_contents для получения json из URL-адресов. Один и тот же URL-адрес иногда работает, а иногда нет. Если это не так, file_get_contents не возвращает ошибку и просто останавливает весь скрипт. Это слишком запутанно.

2 ответа

  1. Какую ошибку вы получаете? Это предупреждение или фатальная ошибка?

    если это предупреждение, добавьте @ to befor file_get_contents как: @file_get_contents
    если другой, пожалуйста, проверьте данные перед выполнением другого процесса

    $jsondata =@file_get_contents('YOur URl');
    if($jsondata){
      // Process your code
    }else{
      //do nothing
    }
    
  2. Какой URL возвращается, когда правильные данные не выводятся ?

    1)

     $json_data =file_get_contents('URl');
        if($json_data){
           //parse the data
          }else{
            //show error
         }
    

    2 чтобы найти, что именно возвращает url

    $json_data =file_get_contents('URl');
    var_dump($json_data);
    

    3 Используйте cURL

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, 'url_here');
    $result = curl_exec($ch);
    curl_close($ch);
    $obj = json_decode($result);
    var_dump($obj)