Filetransfer mittels curl
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
absoluten pfad
array
banalen fehler
bild
browser
code
datei
file
form
image
machen
mime
output
server
string
tag
test
type
url
versenden
-
Hallo,
Ich würde gerne eine tag/datei">Datei mittels POST versenden über ein PHP Script, aber das gestaltet sich wesentlich schwieriger als ich gedacht hätte. Naja nun das hab ich bisher rausbekommen:
$url = 'https://url.de'; $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Content-Type:multipart/form-data" )); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_INFILESIZE, filesize("test.png")); curl_setopt($ch, CURLOPT_POSTFIELDS, array( "file" => new CURLFile('test.png','image/jpeg','test_name'), )); $output = curl_exec($ch); var_dump($output); echo curl_errno($ch);
Es passiert nur nichts und es gibt einen Error 26.
Ich habe es auch schon mit '@test.png' versucht, allerdings wird dann nur ein String gesendet, aber ich möchte ja das File gesendet haben. Das muss doch irgendwie möglich sein oder? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Zunächst mal stimmt der Mime-Type nicht. Ein png ist kein jpeg. Ein Browser hat kein Problem damit, aber eventuell der Server auf der anderen Seite.
Du benennst das Bild um, vergisst aber die Dateierweiterung mit anzugeben. Dies wird wahrscheinlich auch der Fehler sein.
Wenn das noch nicht funktioniert, dann musst du noch den absoluten Pfad richtig setzen.
In etwa dann so:
"file" => new CURLFile( realpath($pathToFile) . '; filename=' . basename($pathToFile));
-
Da beißt man sich den ganzen Tag die Zähne aus, und dann macht man so einen banalen Fehler.
Danke, es hat jetzt geklappt! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage