Pokušavam dohvatiti jedan udaljeni fajl koji baca ovaj rezulta:
[[“ARTIKL:varchar”,“RADJED:varchar”,“ZALIHA:decimal”,“MAL_CIJENA:decimal”],[“39321200”,“21”,0.0000,451.990000],[“39321200”,“22”,0.0000,505.990000],[“39321200”,“25”,0.0000,514.990000],[“39321200”,“27”,0.0000,471.990000]]
to je raw data.
Dakle dohvaća ga i jednostavno ne može ga parsati.
Error log kaže:
PHP Warning: file_get_contents(http://…): failed to open stream: Connection refused in /home/…
Provjerio sam allow URL open na serveru gdje je skripta koja čita. Dozvoljeno.
što bi još trebao tražiti?
Probao sam i PHP i curl metodama i ne dohvaća ništa, stalno false.
function get_content_by_url($URL){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $URL);
$data = curl_exec($ch);
curl_close($ch);
//ako skripta ne postoji, onda appache server vraca:
/*
<HTML>
<HEAD>
<TITLE>404 Not Found</TITLE>...
*/
//izlaz za slučaj da skripta ne postoji
if(preg_match("/^<HTML>\n<HEAD>\n<TITLE>404 Not Found<.TITLE>/", $data)) return false;
return $data;
}
…nisam jedino siguran koliko ova provjera da li file postoji je dobra…vjerovatno pokriva samo ograničeni spektar situacija. Ako znaš po što ideš…taj dio ti je vjerovatno i nepotreban.
Ma znam i sam da je loš taj dio…zato i napominjem. U konkretnom slučaju sam to ubacio onako s nogu da rješim situaciju…nisam išao za tim kako se to može bolje. Jer znam da će funkcija lako evoluirat kad zatreba
Ako se može usporedit status code…to je to. Sibni slobodno primjer