Hallo!
Nachdem jetzt Dank eines PHP-Updates das versenden von binären Daten über cURL funktioniert, bliebe da noch eine klitzekleine Frage, die nicht unbedingt mit cURL zu tun hat:
Kann ich auch den Binärstring direkt an die cURL-Funktion übergeben, oder muß ich erst den String in eine Datei schreiben, und den Pfad dann übergeben?
So sieht das Script aus(funktioniert):
$file = "c:/www/test.txt";
$fp = fopen($file, "w");
fputs($fp, $binary_string);
fclose($fp);
$formvars["upfile"] = "@$file";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://server.de/test.php");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $formvars);
$result = curl_exec ($ch);
curl_close ($ch);
Ginge das evtl. direkt ohne Umweg über externe Datei?
Was mich außerdem etwas stutzig macht, wieso wird der Dateipfad und nicht der Dateiname übergeben:
[_FILES] => Array
(
[upfile] => Array
(
[name] => c:/www/test.txt
[type] => text/plain
[tmp_name] => /tmp/phpmpC67k
[size] => 2675
)
)
Viel Grüße
Andreas