Guten Tag,
ich hab ein kleines Problem, ich möchte Dateien welche ich mit cUrl herunterlade direkt während diese Datei noch heruntereladen wird an den Client (Benutzer) weitergeben. Ich muss cUrl verwenden weil ich 3 unterschiedliche IP-Adressen verwenden muss, aber andere Lösungen nehme ich gerne an . Ich kann also nicht mit readfile() alleine arbeiten weil es dann immer nur eine IP-Adresse verwendet. Hier mein PHP Code:
Meine Frage an euch wie kann ich die "gerade" heruntergeladene Datei direkt an den Client weitergeben, und nicht erst warten bis fopen fertig ist. Wenn ich readfile vor fclose() setze funktioniert es nicht. Die Datei größe ist bereits bekannt, nur wie kann ich dies verwenden. Mir ist schon die Idee gekommen mit Ajax zu arbeiten nur fehlt mir die Idee oder die Funktion eine Datei solange zu laden (für den Client) bis XXX Bytes erreicht sind.
Ich wäre sehr dankbar für nützliche Antworten, Anregungen oder Verbessereungen. Bitte keine Fehlersuche im gegebenen Code durchführen. Fehler können beim kopieren entstehen!
Mit freundlichen Grüßen
Nobert
ich hab ein kleines Problem, ich möchte Dateien welche ich mit cUrl herunterlade direkt während diese Datei noch heruntereladen wird an den Client (Benutzer) weitergeben. Ich muss cUrl verwenden weil ich 3 unterschiedliche IP-Adressen verwenden muss, aber andere Lösungen nehme ich gerne an . Ich kann also nicht mit readfile() alleine arbeiten weil es dann immer nur eine IP-Adresse verwendet. Hier mein PHP Code:
PHP:
$ch = curl_init();
curl_setopt($ch, CURLOPT_INTERFACE, $interface_ip);
curl_setopt($ch, CURLOPT_URL, $remote_url);
// Datei auf Server schreiben
$ft = fopen($remote_file_name, 'wb');
curl_setopt($ch, CURLOPT_FILE, $ft);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_exec ($ch);
curl_close ($ch);
fclose($ft);
// Erst wenn die Datei komplett ist, wird readfile ausgeführt.
readfile($remote_file_name);
Meine Frage an euch wie kann ich die "gerade" heruntergeladene Datei direkt an den Client weitergeben, und nicht erst warten bis fopen fertig ist. Wenn ich readfile vor fclose() setze funktioniert es nicht. Die Datei größe ist bereits bekannt, nur wie kann ich dies verwenden. Mir ist schon die Idee gekommen mit Ajax zu arbeiten nur fehlt mir die Idee oder die Funktion eine Datei solange zu laden (für den Client) bis XXX Bytes erreicht sind.
Ich wäre sehr dankbar für nützliche Antworten, Anregungen oder Verbessereungen. Bitte keine Fehlersuche im gegebenen Code durchführen. Fehler können beim kopieren entstehen!
Mit freundlichen Grüßen
Nobert