No puoi usare semplicemente
Codice PHP:
if(($file = file_get_contents('abbreviazione di url')) === FALSE)
$file = 'errore in corso';
echo $file;
Io uso generalmente questo tipo di script base con supporto per https e opzionalmente un certificato di WordPress ma se puoi installare un certificato nella tua root è ancora meglio (va per se che devi avere sempre php aggiornato).
Codice PHP:
<?php
error_reporting(-1);
$username = $password = 'questo testo è valido per tutte e due le variabili';
$ch = curl_init("http://{$username}:{$password}@dominio:numero_porta/GetImage.cgi?CH=1");
curl_setopt($ch , CURLOPT_FRESH_CONNECT, 1);
/*curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
if(defined('CURL_SSL_VERIFYHOST')) {
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
}*/
//curl_setopt($ch, CURLOPT_CAINFO, '/membri/nickname/wp-includes/certificates/ca-bundle.crt');
curl_setopt($ch, CURLOPT_FAILONERROR, True);
curl_setopt($ch, CURLOPT_HEADER, True);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, False);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, True);
/*curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");*/
$res[0] = curl_exec($ch);
$res[1] = '';
if(($res[2] = curl_error($ch))) {
$res[2] = "Curl error: $res[2]";
} else {
$info = curl_getinfo($ch);
if(($info['header_size'] > 0)) {
$res[1] = 'Header: '.substr($res[0], 0, $info['header_size']);
$res[0] = 'Content: '.substr($res[0], $info['header_size']);
}
}
curl_close($ch);
/* Solo se il target usa una sequenza di byte validi per il charset specificato altrimenti è empty.
Appunto non adatto per file binari.
$output = htmlentities($res[1], ENT_COMPAT | ENT_HTML401,'UTF-8');
$output .= htmlentities($res[0], ENT_COMPAT | ENT_HTML401,'UTF-8');*/
echo '<pre>';
echo 'Totale contenuto con errori, header e output se presenti'."\r\n";
if($res[2])
echo $res[2]."\r\n";
if($res[1])
echo $res[1]."\n\r";
if($res[0])
echo $res[0]."\n\r";
echo'</pre>';
?>