Come accennato in precedenza, le file_get_contents() di PHP funzione o anche i fopen()/fread() stucks combinazione e volte su quando si cerca di leggere questo semplice url immagine:file_get_contents() di PHP rimane bloccata nel caricamento di un'immagine
http://pics.redblue.de/artikelid/GR/1140436/fee_786_587_png
ma la stessa immagine è facilmente caricata dai browser, qual è il problema?
Modificato:
come richiesto nei commenti, sto mostrando la funzione che ho usato per ottenere i dati:
function customRead($url)
{
$contents = '';
$handle = fopen($url, "rb");
$dex = 0;
while (!feof($handle))
{
if ($dex++ > 100)
break;
$contents .= fread($handle, 2048);
}
fclose($handle);
echo "\nbreaking due to too many calls...\n";
return $contents;
}
Inoltre ho provato semplicemente questo:
echo file_get_contents('http://pics.redblue.de/artikelid/GR/1140436/fee_786_587_png');
Entrambi dare lo stesso numero
CURA:
Come suggerito in un commento che ho usato ricciolo:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11');
$res = curl_exec($ch);
$rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch) ;
echo "\n\n\n[DATA:";
echo $res;
echo "]\n\n\n[CODE:";
print_r($rescode);
echo "]\n\n\n[ERROR:";
echo curl_error($ch);
echo "]\n\n\n";
questo è il risultato:
[DATA:]
[CODE:0]
[ERROR:]
È fee_786_587_png o fee_786_587.png? –
Pubblica il codice che hai provato. –
è _png, esattamente come menzionato nell'URL –