php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
POST multipart/form-data auf anderen Server


 
Truncate
25-11-2005, 03:06 
 
Problem gelöst: Im Data-Block müss zusätzlich vor Boundary
nochmals zwei -- davor:

<?

srand((double)microtime()*1000000);
$boundary="---------------------------".substr(md5(rand(0,32000)),0,10);

$data ="--".$boundary."\n";
$data.="Content-Disposition: form-data; name=\"$name\"; ";
$data.="filename=\"$filename\""."\n";
$data.="Content-Type: image/gif\n\n";
$data.=$daten."\n";
$data.="--".$boundary."--"."\n";

$head ="POST $path HTTP/1.0\n";
$head.="Host: $host\n";
$head.="Content-type: multipart/form-data; boundary=".$boundary."\n";
$head.="Content-length: ".strlen($data)."\n\n";

?>

 
fox34
25-11-2005, 08:50 
 
Soweit ich weiß kannst du mit PHP keine POST-Daten senden (bin mir aber nich ganz sicher!).


Mir stellt sich nur die frage: Warum nicht gleich das ganze an recieve.php senden, bzw, das , was in recieve.php "passiert" einfach in send.php mit reinschreiben? :confused:


*edit*
Buah, ich geh mal schnell augen waschen :D

Du willst die Datei einlesen und per POST an recieve.php senden, die auf einem anderen Server liegt.

Sinn?

Mach doch einfach in der recieve.php:

$fp = @fopen("http://url.zur/datei.gif");

if(!$fp) {
die("Datei existiert nicht // Rechte nicht vorhanden");
}

while(!feof($fp)) {
$line = fread($fp);
mach_was($line);
}
fclose($fp);

# etc...

Warum du das ganze so kompliziert machen willst ist mir ein Rätsel ;)

 
Truncate
25-11-2005, 15:25 
 
Die receive.php liegt auf einem anderen Server! :-)

(kann aber zu Testzwecken natürlich ins gleiche Dir gelegt werden)

 
onemorenerd
25-11-2005, 16:21 
 
Original geschrieben von fox34
Soweit ich weiß kannst du mit PHP keine POST-Daten senden (bin mir aber nich ganz sicher!).

Da bin ich anderer Meinung. Ganz entschieden sogar.

 
fox34
25-11-2005, 16:24 
 
Original geschrieben von onemorenerd
Da bin ich anderer Meinung. Ganz entschieden sogar.


Gut, dann nehm ichs zurück :P

Verrätst du uns auch wie? ;)


Original geschrieben von Truncate
Die receive.php liegt auf einem anderen Server! :-)

Und?

 
onemorenerd
25-11-2005, 16:45 
 
Am bequemsten mit CURL, sucht nach CURLOPT_POST (http://www.google.com/search?q=CURLOPT_POST+site:www.php.net) und lest die Userkommentare.


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:16 Uhr.