ako zistit response externej URLmam takuto funkciu na ziskanie zoznamu z externej URL:$ch = curl_init();curl_setopt($ch, CURLOPT_URL, www.externaurl.sk/zoznam);curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_HEADER, FALSE);curl_setopt($ch, CURLOPT_HTTPHEADER, array(key: mykey));$response = curl_exec($ch);curl_close($ch);$arr = json_decode($response, true);A z toho vysledku $arr potom vypisujem data.Ako zistim, ak by sluzba prestala fungovat alebo mala vypadok? Proste chcem docielit to, ze ked nebudu dostupne ziadne data, tak mi zobrazi zoznam z mojej databazy a nie z externej URL.Chcem len vediet, ako zistim, ze sluzba nefunguje. Ci mam v podmienke kontrolovat if empty($response) alebo co ked $response nebude empty, ale bude obsahovat len prazdne zatvorky alebo nieco bez dat. Alebo mam checkovat nejaky errorcode toho volania? pouzivaj timeoutcurl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); //pocet sekundno a potom testuj ci mas data na vystupe ci nie a ak nie tak sa siahnes po zozname z db//tu mas k errorom http://php.net/manual/en/function.curl-error.php timeout je sice ok, ale ako zistim ci su data na vystupe? ked nemozem checkovat empty, kedze vysledok nemusi byt empty aj ked je vypadok, alebo nejaky iny problem, ze chybaju data, ale nieco v tom vysledku bude.Skusal som tam davat $errors = curl_error($ch);ale ked napr. umyselne spravim chybu v tej URL a dam vypisat $errors tak mi dava string(0) Z toho teda moc nezistim, kedze to iste mi vypise aj ked je spravna URL. testuj ci na vystupe je nieco co sa pri kazdom natiahnuti tej url nachadza a ak sa to tam nachadza, tak vies ze tam su data ktore chces, ak to tam nie je tak siahnes po zozname z db, mozno nerozumiem ze s cim mas presne problem... aha ok, tak nakoniec takto to funguje:if(curl_exec($ch) === false){ echo 'Curl error: ' . curl_error($ch);}else{ echo 'Operation completed without any errors';$response = curl_exec($ch);} ...
ako zistit response externej URL |