justin221 Posted December 8, 2011 Share Posted December 8, 2011 how upload images via CURL? I reday login back office ,but i can not upload image via CURL , help me !!!! $pic_path="@C:\wamp\www\cur\as.jpg"; $pic_data=array("image_product"=>$pic_path); $ch = curl_init($update_product_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $pic_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); curl_exec($ch); curl_close($ch); Link to comment Share on other sites More sharing options...
Intra Posted July 19, 2012 Share Posted July 19, 2012 (edited) It's an old post but still first in search results, so for people who has some problems as I get, here is my php code actually working : <?php // defines shop path and webservice auth key define('PS_SHOP_PATH', 'http://www.myprestashop.com'); define('PS_WS_AUTH_KEY', 'XXXXXXXXXX'); $url = PS_SHOP_PATH.'/api/images/products/'.$id_product; $img='C:\\myprestashop\\photos\\large\\'.$myjpgimg; //curl parameters expects image to be binary : $data_img= array('image'=>"@".$img.";type=image/jpeg"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); //curl_setopt($ch, CURLOPT_PUT, true); //to modify an image curl_setopt($ch, CURLOPT_USERPWD, PS_WS_AUTH_KEY.':'); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_img); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //curl exec if(curl_exec($ch) === false) { echo 'Error : '.curl_error($ch).'<br>'; } else { echo 'Image added'; } curl_close($ch); ?> Edited July 19, 2012 by Intra (see edit history) 1 Link to comment Share on other sites More sharing options...
correadde Posted August 5, 2012 Share Posted August 5, 2012 Hi! where do i add that code? Link to comment Share on other sites More sharing options...
Intra Posted January 31, 2013 Share Posted January 31, 2013 Télécharger les fichiers exemples, le code parle de lui-même : http://doc.prestashop.com/display/PS14/Using+the+REST+webservice Link to comment Share on other sites More sharing options...
Henki Posted May 15, 2014 Share Posted May 15, 2014 Salut Intra, j'ai le même code que toi seulement mon chemin pour les images est de ce type : www.monSite.com/images/monImage.jpg Lorsque je donne un chemin simple tel que :"/usr/Desktop/monDossier/mesImages/monImage.jpg" dans la variable $image_path, celui-ci me retourne un résultat satisfaisant. Cependant, lorsque je lui place en paramètre l'url du dossier de mon site, aucune image n'apparaît... Une solution peut-être ? Link to comment Share on other sites More sharing options...
Intra Posted May 16, 2014 Share Posted May 16, 2014 (edited) lorsque je lui place en paramètre l'url du dossier de mon site, aucune image n'apparaît... Ce code nécessite de passer en paramètre le chemin local pour accéder à l'image, ça ne fonctionnera pas avec une url. Soit tu exécute ton script sur ton serveur, avec le chemin local vers les images du serveur. Soit, tu télécharge l'image avec un script du style : $url_image = 'http://www.monsite.fr/image/'.$img_name.'.jpg'; if(!file_exists('/local_images/'.$img_name.'.jpg')) { //verif si le fichier n'est pas déjà en local $ch = curl_init($url_image); $fp = fopen('./local_images/'.$img_name.'.jpg', 'w+'); //on le crée curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); if(filesize('./local_images/'.$reference.'.jpg') == 0) { //on peut vérifier sa taille unlink('./local_images/'.$img_name.'.jpg'); //le supprimer de cette façon } } A adapter, voilà bon courage Edited May 16, 2014 by Intra (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts