Jump to content

Script insérer images avec cURL


Recommended Posts

Bonjour, 

 

je suis actuellement sur la dernière version de prestashop 1.6.x. J'ai créer un petit script qui permet d'importer de façon dynamique un csv (en l'occurence csv de produits). Toutefois, l'import d'images ne fonctionne pas.

J'ai donc utilisé un script fournit par prestashop :

$url = 'http://myprestashop.com/api/images/products/1';
$image_path = 'C:\\my_image.png';
$key = 'My web service key';
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
//curl_setopt($ch, CURLOPT_PUT, true); // Un-commet to edit an image
curl_setopt($ch, CURLOPT_USERPWD, $key.':');
curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => '@'.$image_path));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

Ce script permet d'insérer ou mettre à jour l'image d'un produit. 

 

MON PROBLÈME est le suivant, je tire mes images d'un site en ligne : www.siteEnLigne.com/images/mon_image.jpg

et lorsque je met ce chemin dans la variable $image_path, je n'ai aucun résultat. 

Après quelques recherches je pense que prestashop doit avoir uniquement le chemin en répertoire et ne prend pas en compte, par conséquent, le chemin "nom de domaine".

 

Des avis ? De l'aide ?

 

Merci d'avance !

Edited by Henki (see edit history)
Link to comment
Share on other sites

Bon j'ai réussi à contourner le problème.

 

Il suffit de créer dynamiquement un dossier/fichier.jpg grâce aux commandes php, tels que mkdir() file_get_contents() et file_put_contents(), puis de récupérer le chemin du dossier temporaire dans la variable $image_path.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...