POST données encodées en Base64 en PHP

J'ai besoin de mettre des données à une page PHP à l'aide de cURL, et que la requête contient trois paramètres:

  • Deux d'entre eux sont régulières, les valeurs de texte
  • Est un fichier encodé en Base64

J'ai remarqué que le Base64 valeur est endommagé au cours de la transmission.

C'est le code que l'envoi de la demande:

$filename = "img2.jpg"; //A sample image file
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$base64 = base64_encode($data);

$postData = "id=1234&sometext=asdasd&data=" . $base64;

$ch = curl_init("http://mydomain/post.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$httpResponse = curl_exec($ch);
curl_close($ch);

Des conseils?

OriginalL'auteur Mark | 2010-11-17