J'ai un problème avec l'enregistrement d'un fichier à partir d'une réponse à une requête POST. J'utilise l'API Google Charts pour créer un graphique à l'aide d'une requête POST. J'essaie alors de sauvegarder le résultat sous forme d'image.PHP: Sauvegarde de la réponse POST à un fichier
Je suis la documentation de l'API comme décrit ici: http://code.google.com/apis/chart/docs/post_requests.html
Voici mon code:
$file = fopen($url, 'r', false, $context);
$file2 = fopen("test.png", 'w');
while (!feof($file)) {
$buffer = fgets($file, 8192);
fwrite($file2, $buffer);
}
fclose($file);
Il enregistre l'image partiellement, jusqu'à 20k ou si, en laissant la partie inférieure de l'image non sauvegardé.
(modifier) Voici le code de travail, en utilisant boucle:
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_FILE, $file);
curl_setopt($handle,CURLOPT_POST,count($request));
curl_setopt($handle, CURLOPT_POSTFIELDS, $request_string);
$data = curl_exec($handle);
L'utilisation de fread au lieu de fgets donne le même résultat: seulement la moitié du fichier est enregistrée. – Goro
curl a bien fonctionné :) – Goro
étrange, à propos de 'fread' /' fgets'; mais sympa cette curl travaillé :-) –