Versuchen Sie Folgendes:
$ch = curl_init("http://www.example-webpage.com/file.html");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);
Ich würde nur diese für kleine Dateien empfehlen. Große Dateien werden als Ganzes gelesen und verursachen wahrscheinlich einen Speicherfehler.
edit: nach einigen Diskussionen in den Kommentaren fanden wir heraus, dass das Problem war, dass der Server den Hostnamen nicht auflösen konnte und die Seite zusätzlich eine https-Ressource war. Hier kommt Ihre temporäre Lösung (bis Ihr sereradmin den Namen behebt) .
was ich getan habe, ping nur graph.facebook.com, um die IP-Adresse zu sehen, ersetzen Sie den Hostnamen durch die IP-Adresse und geben Sie stattdessen die Kopfzeile manuell. aber dies macht das SSL-Zertifikat ungültig, so dass wir Peer-Überprüfung zu unterdrücken
//$url = "https://graph.facebook.com/19165649929?fields=name";
$url = "https://66.220.146.224/19165649929?fields=name";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: graph.facebook.com'));
$output = curl_exec($ch);
curl_close($ch);
bedenken haben, dass die IP-Adresse ändern könnte und dies ist eine eror Quelle. Sie sollten auch eine Fehlerbehandlung mit curl_error() durchführen;
danke, aber ich bekomme eine leere Datei. Ich versuche den Fehler zu finden –
John, wenn dies nicht funktioniert, dann überprüfen Sie Ihre URL. Vergessen Sie auch nicht den curl_close ($ ch) am Ende. – Brad
Funktioniert es mit einer Nur-Text-Datei anstelle einer HTML-Datei? Ich habe es mit einer einfachen Textdatei getestet - und ich bekomme eine leere Seite. –