Hallo Forum,
vorweg, cross-origi ist kein Thema, das klappt bisher alles!
Wie muss ein entsprechender xhr-Request aussehen wenn der Status des laufenden php-skripts zurück gegeben werden soll?
Http ist ja ein Anfrage -> Antwort Protokoll aber z.B. bei einem Dateiupload wird es ja mehr oder weniger zu einem stream gewandelt, so das der Fortschritt im selbigen Request ausgegeben werden kann.
Da ich dies oder ähnliches bisher nicht brauchte, habe ich da keine Erfahrung mit. Nun bräuchte ich es aber.
Sinn und Zweck ist das ich mit einer xhr-Anfrage einen Datei-Versand veranlassen möchte.
Beispiel:
Der Webserver (A) sendet den xhr an server B dieser führt ein php-curl Skript aus und sendet eine Datei zu Server C und dessen Fortschritt muss zum Webserver (A) gelangen.
Hier muss in JS doch sicher irgend welche Sachen definiert werden um den Status zu Empfangen (und wie Ruft man diesen ab)?
Also das PHP- Skript auf Server B sollte denke ich mal in etwa so aussehen (snippet):
Denke das sollte schon mal der richtige Ansatz sein, aber wie ich den JS-Part gestalten muss ist mir schleierhaft =(
MfG: Paykoman
PS: Guten Rutsch ins neue Jahr.
vorweg, cross-origi ist kein Thema, das klappt bisher alles!
Wie muss ein entsprechender xhr-Request aussehen wenn der Status des laufenden php-skripts zurück gegeben werden soll?
Http ist ja ein Anfrage -> Antwort Protokoll aber z.B. bei einem Dateiupload wird es ja mehr oder weniger zu einem stream gewandelt, so das der Fortschritt im selbigen Request ausgegeben werden kann.
Da ich dies oder ähnliches bisher nicht brauchte, habe ich da keine Erfahrung mit. Nun bräuchte ich es aber.
Sinn und Zweck ist das ich mit einer xhr-Anfrage einen Datei-Versand veranlassen möchte.
Beispiel:
Der Webserver (A) sendet den xhr an server B dieser führt ein php-curl Skript aus und sendet eine Datei zu Server C und dessen Fortschritt muss zum Webserver (A) gelangen.
Hier muss in JS doch sicher irgend welche Sachen definiert werden um den Status zu Empfangen (und wie Ruft man diesen ab)?
Also das PHP- Skript auf Server B sollte denke ich mal in etwa so aussehen (snippet):
PHP-Code:
function PostToHost($host, $port, $path, $postdata, $filedata) {
$data = "";
$boundary = "---------------------".substr(md5(rand(0,32000)),0,10);
$fp = fsockopen($host, $port);
fputs($fp, "POST $path HTTP/1.0\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Content-type: multipart/form-data; boundary=".$boundary."\n");
// Ab dieser Stelle sammeln wir erstmal alle Daten in einem String
// Sammeln der POST Daten
foreach($postdata as $key => $val){
$data .= "--$boundary\n";
$data .= "Content-Disposition: form-data; name="".$key.""\n\n".$val."\n";
}
$data .= "--$boundary\n";
// Sammeln der FILE Daten
$data .= "Content-Disposition: form-data; name="{$filedata[0]}"; filename="{$filedata[1]}"\n";
$data .= "Content-Type: image/jpeg\n";
$data .= "Content-Transfer-Encoding: binary\n\n";
$data .= $filedata[2]."\n";
$data .= "--$boundary--\n";
// Senden aller Informationen
fputs($fp, "Content-length: ".strlen($data)."\n\n");
fputs($fp, $data);
// Auslesen der Antwort
while(!feof($fp)) {
$res .= fread($fp, 1);
}
fclose($fp);
return $res;
}
$postdata = array('var1'=>'test', 'var2'=>'test');
$data = file_get_contents('Signatur.jpg');
$filedata = array('inputname', 'filename.jpg', $data);
echo PostToHost ("localhost", 80, "/test3.php", $postdata, $filedata);
MfG: Paykoman
PS: Guten Rutsch ins neue Jahr.
Kommentar