Jump to content

Web Service ( CULR ): le immagini non vengono caricate


matteo.enter

Recommended Posts

Salve a tutti,

ho preparato uno script per poter caricare le immagini sia sugli articoli sia sulle categorie ma le immagini non vengono caricate ne su gli uni ne sulle altre nonostante non mi restituisca nessun errore.

Questo è lo script per gli articoli:

 

<?
  require_once( './configurazioni/WS_conf.inc' );
  require_once( './PSWebServiceLibrary.php' );
  $ris='ER|Nessuna operazione';
  $nome_file=$_GET['nf'];
  $tipo=$_GET['tp'];
  $idart=$_GET['id'];
  $url = PS_SHOP_PATH.'api/images/products/'.$idart;
  
  if (file_exists(PS_IMG_PATH.$nome_file))
  {                
    $image_path = PS_IMG_PATH.$nome_file;
    $data_img = array('image'=>"@".$image_path.";type=image/jpeg");
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    
    if ($tipo=='U')
      curl_setopt($ch, CURLOPT_PUT, true);    
    curl_setopt($ch, CURLOPT_POST, true);    
    curl_setopt($ch, CURLOPT_HTTPAUTH, 'CURLAUTH_BASIC');
    curl_setopt($ch, CURLOPT_USERPWD, PS_WS_AUTH_KEY.':');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_img);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    if(curl_exec($ch) === false)
      $ris = 'ER|'.curl_error($ch);
    else
      $ris='OK|';
    curl_close($ch);
    //unlink(PS_FILE_PATH.$nome_file);
  }
  else
    $ris.='ER|Immagine non presente|';
  echo $ris;
?>

dove sbaglio?

Edited by matteo.enter (see edit history)
Link to comment
Share on other sites

della tabella ps_image , se vuoi importare tramite un link url ti conviene importare il link direttamente dentro la tabella ps_image opportunamente modificata , e fare un override della classe Link.php per poter scaricare automaticamente le immagini mentre navighi nel front office. 

Link to comment
Share on other sites

della tabella ps_image , se vuoi importare tramite un link url ti conviene importare il link direttamente dentro la tabella ps_image opportunamente modificata , e fare un override della classe Link.php per poter scaricare automaticamente le immagini mentre navighi nel front office. 

 

ma io non voglio scaricare le immagini, ma caricarle dentro gli articoli e le categorie dato che le creo proprio tramite il web service!

 

poi su quella tabella ci sono 4 colonne :

 

s_fulltext.png id_image id_product position cover

 

non capisco il link dove andrebbe messo!

Link to comment
Share on other sites

ho capito perfettamente quello che vuoi fare...

per caricarle le immagini tramite il webservice, dovrai prenderle da qualche parte.

Quindi o le carichi tramite ftp ( intendo i singoli file immagine ) o le scarichi da url.

 

Nella tabella ps_image devi creare un campo aggiuntivo Varchar che conterrà i link delle immagini per ogni prodotto.

 

Poi tramite il webservice caricherai i link immagini da associare a ogni prodotto.

 

Questa è la strada più semplice

Link to comment
Share on other sites

ho capito perfettamente quello che vuoi fare...

per caricarle le immagini tramite il webservice, dovrai prenderle da qualche parte.

Quindi o le carichi tramite ftp ( intendo i singoli file immagine ) o le scarichi da url.

 

Nella tabella ps_image devi creare un campo aggiuntivo Varchar che conterrà i link delle immagini per ogni prodotto.

 

Poi tramite il webservice caricherai i link immagini da associare a ogni prodotto.

 

Questa è la strada più semplice

Ma è quello che già faccio.

1 Carico l'immagine in una cartella FTP

2 Lancio lo script passandogli il nome del file (la cartella è predefinita) ed il codice dell'articolo

 

In questa maniera dovrebbe caricarle, infatti lo script non da errore, ma poi non si vede!

 

Mettere il link all'immagine sul db cosa cambierebbe?

 

 

Link to comment
Share on other sites

cambierebbe che ti funziona l'importazione, perchè con quello script che hai creato in Curl non puoi importare i link relativi ma solo quelli assoluti, quindi il db ti risulterà sempre vuoto per le immagini.

 

eppure sul manuale di prestashop dice che posso farlo!

 

Comunque sia, non ho capito che link devo mettere dentro al db e poi come lo integro al mio script?

Potresti farmi un esempio per favore così capisco, grazie! :D

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...