mmh ich weiss, uralter Thread, aber vielleicht hilft das ja:
Suchen:
Code:
$fb=@fopen("http://www...usw.....","r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}
Ersetzen mit:
Code:
$farray = socketfile("http://www....usw...");
if ($farray) foreach ($farray as $line) $file1.=$line;
Vorher wie oben gesagt die "socketfile" Funktion in die functions.lib.php eintragen.
Ich frage mich nur.. wenn ein Provider allow_url_fopen auf OFF setzt, würde er dann nicht gleich noch fsockopen() sperren? (fsockopen() wird von socketfile() verwendet.)
Achtung: ungetestet, keine Garantie oder Rücknahme.
edit: bplaced.net verbietet "fsockopen()"
noch ein edit: hier etwas code mit dem ich bei bplaced getestet habe, kann man in eine php-datei einfügen, auf den webspace des zu testenden providers hochladen und über den webserver per http öffnen:
Code:
<?
function socketfile($url) {
// URL zerlegen
$parsedurl = @parse_url($url);
// Host ermitteln, ungültigen Aufruf abfangen
if (empty($parsedurl['host']))
return null;
$host = $parsedurl['host'];
// Pfadangabe ermitteln
if (empty($parsedurl['path']))
$documentpath = '/';
else
$documentpath = $parsedurl['path'];
// Parameter ermitteln
if (!empty($parsedurl['query']))
$documentpath .= '?'.$parsedurl['query'];
// Port ermitteln
$port = empty($parsedurl['port'])?80:$parsedurl['port'];
// Socket öffnen
$fp = fsockopen ($host, $port, $errno, $errstr, 30);
if (!$fp)
return null;
// Request senden
fputs ($fp, "GET {$documentpath} HTTP/1.0\r\nHost: {$host}\r\n\r\n");
// Header auslesen und verwerfen
do {
$line = chop(fgets($fp));
} while (!empty($line) and !feof($fp));
// Daten auslesen
$result = Array();
while (!feof($fp)) $result[] = fgets($fp);
// Socket schliessen
fclose($fp);
// Ergebnis-Array zurückgeben
return $result;
}
################################################################################################################
$url = "http://www.google.de/";
################################################################################################################
$fb=fopen($url,"r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}
echo $file1;
################################################################################################################
echo "=========== socketfile / fsockopen : ===================<br>\n";
unset($file1);
$farray = socketfile($url);
if ($farray) foreach ($farray as $line) $file1.=$line;
echo $file1;
?>