Jump to content

Recommended Posts

A causa dello spazio pieno sul server, ho la necessità di cancellare le immagini senza prodotto.

 

Da quanto capisco, quando si cancella un prodotto, il contenuto del database viene rimosso ma l'immagine rimane sul server. Quindi ora sul server ci sono troppe immagini di prodotti inesistenti.

 

Premesso che uso PrestaShop 1.6, come fare a cancellare le immagini dal server?

 

Per esemio, nel caso di un prodotto 

http://www.dominio.it/it/categoria/4047-andalusia-charcoal.html:

-allora l'ID del prodotto è 4047

- quindi le immagini si devrebbero trovare in sul server nella cartella img/p/4/0/4/7

-... però la cartella è vuota!

 

Allora copio l'URL dell'immagini, risuta il seguente :

http://www.dominio.it/221588-home_default/andalusia-charcoal.jpg

 e infatti trovo le immagini in /public_html/img/p/2/2/1/5/8/8

 

Allora come funziona la denominazione delle immagini sul server?

Quale criterio devo usare per trovare le immagini sul server?

 

Esiste qualche modulo/strumento a pagamento/gratuito per cancellare le immagini?

Confido nell'aiuto della community di PrestaShop....

 

Grazie

Navid

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

Dunque... è corretto quanto dici, cancellando il prodotto non si cancellano le immagini.

Lo stesso, a titolo di cronaca, per esempio accade con le slide.

 

Non vedo ragione di mettersi a fare il "repulist" perché se stai esaurendo lo spazio sul server probabilmente il server è sottodimensionato per le tue necessità.

Puoi trovare decine e decine di hosting che non ti pongono limiti di spazio... quindi trasferisci e lascia perdere la pulizia.

Ti costa sicuramente meno oltretutto!

Link to comment
Share on other sites

http://www.dominio.it/it/categoria/4047-andalusia-charcoal.html:

-allora l'ID del prodotto è 4047

- quindi le immagini si devrebbero trovare in sul server nella cartella img/p/4/0/4/7

-... però la cartella è vuota!

 

Allora copio l'URL dell'immagini, risuta il seguente :

http://www.dominio.it/221588-home_default/andalusia-charcoal.jpg

 e infatti trovo le immagini in /public_html/img/p/2/2/1/5/8/8

 

Allora come funziona la denominazione delle immagini sul server?

Quale criterio devo usare per trovare le immagini sul server?

 

 

 

 

img/p  ID immagine e non id prodotto

 

quindi leggi dalla tabella ps_image ID_product e trovi l'ID_image

 

quindi cerchi nella cartella img/p l'immagine seguendo l'id immagine

 

si può realizzare comunque uno script che analizza il sito e ci visualizza le immagini non collegate e nessun prodotto e poi volendo farle eliminare in automatico dallo script

 

saluti

Link to comment
Share on other sites

Geniale!!

 

Vediamo se ho capito bene... quanto importo un prodotto già esistente, anche se mantengo lo stesso ID prodotto, carico le immagini con un nuovo ID immagine

quindi dopo poco tempo, il server è pieno di immagini senza associazione a prodotti

 

è così?

 

E' possibile realizzare uno script che mi mostra l'elenco delle immagini orfane?

Quanto tempo occorre a realizzarlo e quanto può costare?

 

Grazie

Navid

Link to comment
Share on other sites

Ho trovato lo script sul forum: vedi https://www.prestashop.com/forums/topic/290936-cleanup-imgp-folder-and-image-folder-questions/?p=2063626

 

Ho provato a configurare lo script e mi appare l'errore seguente:

Parse error: syntax error, unexpected 'localhost' (T_STRING) in /home/public_html/sito.com/thekoquater/cleanup.php on line 9

 

in pratica si verifica un errore con le virgolette alla linea 9:

$pdo = new PDO( 'mysql:host='localhost';dbname='db123, dbuser, dbpwd);

Non conosco php, qualcuno mi può indicare la corretta sintassi?

 

lo script originale è:

$pdo = new PDO( 'mysql:host='._DB_SERVER_.';dbname='._DB_NAME_, _DB_USER_, _DB_PASSWD_ );

ho semplicemente inserito i dati del mio database....

 

Grazie

Navid

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

Ho trovato lo script sul forum: vedi https://www.prestashop.com/forums/topic/290936-cleanup-imgp-folder-and-image-folder-questions/?p=2063626

 

Ho provato a configurare lo script e mi appare l'errore seguente:

Parse error: syntax error, unexpected 'localhost' (T_STRING) in /home/public_html/sito.com/thekoquater/cleanup.php on line 9

 

in pratica si verifica un errore con le virgolette alla linea 9:

$pdo = new PDO( 'mysql:host='localhost';dbname='db123, dbuser, dbpwd);

Non conosco php, qualcuno mi può indicare la corretta sintassi?

 

lo script originale è:

$pdo = new PDO( 'mysql:host='._DB_SERVER_.';dbname='._DB_NAME_, _DB_USER_, _DB_PASSWD_ );

ho semplicemente inserito i dati del mio database....

 

Grazie

Navid

Nello script originale prendeva i dati da delle variabili, se tu vuoi usare i valori devi mettere ' all'inizio dell'intera stringa subito dopo ( e di nuovo ' alla fine del tutto prima della ).

 

Secondo me è meglio mantenere le variabili e se possibile (non conosco il codice di PS) direttamente quelle di sistema.

Link to comment
Share on other sites

  • 1 month later...
  • 6 years later...

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