Also versuche ich, Dateien mit cURL zusammen mit anderen POST-Variablen zu einer anderen Seite zu senden. Das meiste funktioniert, außer dem Senden der Datei. Aber es funktioniert nur auf meinem localhost nicht. Wenn es auf den gehosteten Webserver hochgeladen wird, funktioniert es genauso wie es sollte.Das Posten einer Datei mit cURL funktioniert nicht mit @ am Anfang des Pfades
Ich möchte auch nicht CURLFile verwenden, weil der Webserver es nicht unterstützt. Hier
ist der Code:
// Output the image
imagejpeg($fileData['imageBackground'], $newFileName, 75);
// Get Old Background
$query['getBackground'] = $this->PDO->prepare("SELECT backgroundImage FROM accounts WHERE token = :token");
$query['getBackground']->execute(array(':token' => $token));
$queryData = $query['getBackground']->fetch(PDO::FETCH_ASSOC);
$verificationKey = self::newVerificationKey($token);
// Send the file to the remote
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uploadURL);
curl_setopt($ch, CURLOPT_POST, true);
$postArgs = array(
'action' => 'updateBackground',
'verificationKey' => $verificationKey,
'file' => '@' . realpath($newFileName),
'oldBackground' => $queryData['backgroundImage']
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postArgs);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
unlink($newFileName);
Vielen Dank im Voraus!
Arbeitete wie ein Charme. Ich habe einfach die ganze Klasse gemacht, und es funktioniert perfekt. Vielen Dank! – Joaquim