file omonimi vengono cancellati

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
aramartis
membro Junior
membro Junior
Messaggi: 1
Iscritto il: 14/06/2007, 14:08

file omonimi vengono cancellati

Messaggio da aramartis »

se inserisco due prodotti che hanno l'immagine con lo stesso nome mi tiene solo l'ultima, cambiano la stessa al prodotto inserito per prima. COme posso risolvere?


Visto che non mi sono capito neanche io mi spiego meglio
Ho un prodotto moto con file che si chiama auto.jpg
ho un prodotto auto con file che si chiama auto.jpg
alla moto e all'auto ho la stessa immagine che va bene per auto, in quanto auto, ma non va bene per la moto.
Peggio di peggio... :lol:
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: file omonimi vengono cancellati

Messaggio da marcus »

aramartis ha scritto:se inserisco due prodotti che hanno l'immagine con lo stesso nome mi tiene solo l'ultima, cambiano la stessa al prodotto inserito per prima. COme posso risolvere?


Visto che non mi sono capito neanche io mi spiego meglio
Ho un prodotto moto con file che si chiama auto.jpg
ho un prodotto auto con file che si chiama auto.jpg
alla moto e all'auto ho la stessa immagine che va bene per auto, in quanto auto, ma non va bene per la moto.
Peggio di peggio... :lol:
E' un vecchio bug di osCommerce di cui ho già avuto modo di parlare e che a quanto pare è rimasto.

Nel mio pacchetto ho inserito un sistema che assegna in automatico un nome unico ad ogni immagine che viene caricata.

Nella classe admin/includes/classes/upload.php

cerca:

Codice: Seleziona tutto

       
$this->set_file($file);

$this->set_filename($file['name']);

$this->set_tmp_filename($file['tmp_name']);
e sostituisci con:

Codice: Seleziona tutto

			
$prefisso_nome_immagine =md5(uniqid(rand()));

$nome_immagine = $prefisso_nome_immagine . '.' . strtolower(substr($file['name'], strrpos($file['name'], '.')+1));

$this->set_file($file);

$this->set_filename($nome_immagine);

$this->set_tmp_filename($file['tmp_name']);

In questo modo viene generato un nome unico per ogni immagine e non dovrebbero esserci più sovrapposizioni.

Saluti
Marcus
Ultima modifica di marcus il 04/06/2008, 22:10, modificato 1 volta in totale.
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

scusatemi, ma è anche logico... che se le immagini sono caricate nella stessa cartella, se hanno lo stesso nome, una viene sovrascritta. si può per esempio impostare oscommerce in modo che carichi i thumbnails in sotto cartelle dal nome uguale alle categorie. Così si può averle con lo stesso nome. On the fly auto thumbnailer lo prevede in opzione.
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Messaggio da marcus »

hsg26 ha scritto:scusatemi, ma è anche logico... che se le immagini sono caricate nella stessa cartella, se hanno lo stesso nome, una viene sovrascritta.
Proprio per questo è un bug ...
hsg26 ha scritto: si può per esempio impostare oscommerce in modo che carichi i thumbnails in sotto cartelle dal nome uguale alle categorie. Così si può averle con lo stesso nome. On the fly auto thumbnailer lo prevede in opzione.
La suddivisione in cartelle può essere utile ma direi che questo non c'entra col problema posto.

Inoltre se due prodotti hanno files immagine con lo stesso nome e vanno nella stessa categoria il problema si ripropone.

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

io non lo reputo un bug, ma una mancanza del codice.

Cosa che tu con la tua aggiunta hai appunto cercato di ovviare. è normale che un file con lo stesso nome, su un server come sul pc di casa, va a sovrascrivere l'altro. Con la differenza che oscommerce non chiede nulla e sovrascrive e basta. Far rinominare i files come fai tu, evita indubbiamente tutti i problemi, anche se l'ideale dal punto di vista seo, sarebbe l'aggiunta di un numero alla fine del nome... es: auto.jpg e auto_1.jpg che mi sembra sia ciò che il tuo codice fa.
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
Rispondi