Ho un modulo in cui un amministratore carica tre immagini con dimensioni diverse su tre diverse directory designate. ora per assicurarmi di non entrare nel problema dei nomi di file duplicati ho implementato qualcosa come il php confronterà il nome del file caricato e controllerà se quel nome di file esiste nella directory designata se sì allora echeggerà un errore e ferma l'esecuzione dello script.Nome file PHP
Ora uno dei miei amici mi ha suggerito che è molto brutto chiedere all'amministratore di rinominare manualmente il file immagine e chiedergli di occuparsi del problema della duplicazione dei file. la soluzione che suggeriva era di rinominare automaticamente il file e quindi memorizzarlo nel database e quindi indirizzarlo alla directory.
Sono confuso su quale combinazione devo dare al file rinominato e anche fare in modo che rimarrà nome di file univoco per essere più precisi vorrei farvi capire la mia struttura di directory
come ho detto non ci sarà tre immagini file l'amministratore sarà caricando cioè
a) Titolo Immagine b) breve quadro c) Immagine del particolare
e tutte e tre le file di immagine sarà essere spostati nella rispettiva directory, come l'immagine del titolo nella directory dei titoli e così via.
sto usando lo script di sotto attualmente solo per spostare e memorizzare il nome del file con percorso utilizzando varchar nel database.
$ns_pic_title_loc= $_FILES["ns_pic_title"]["tmp_name"];
$ns_pic_title_name = $_FILES["ns_pic_title"]["name"];
move_uploaded_file($ns_pic_title_loc, $ns_title_target.$ns_pic_title_name) or die(mysql_error());
che è solo il codice di esempio che non ha incluso la funzione di convalida che sto usando. stavo pensando come voglio rinominare tutti i file come
a) Nella directory del titolo il file deve essere memorizzato come. title_1.jpg title_2.jpg title_3.jpg title_4.jpg
e così via
e allo stesso modo per resto delle immagini. Come lo faccio? che funzione uso per raggiungere il mio obiettivo. e se questo non è il modo migliore per rinominare il file, apprezzerei qualsiasi suggerimento seguito per rinominare il file.
grazie in anticipo
Questa è un'alternativa migliore al suggerimento del blob mentre si sta ancora utilizzando l'id/chiave primaria dal database. L'ho usato un certo numero di volte. – Treffynnon
sebbene questa sia una buona soluzione, prenderei in considerazione l'utilizzo della funzione tempnam. solo il tipo di funzione che stavo cercando. –
Questo è un buon modo per sincronizzare gli ID dei database e i nomi dei file immagine. Ha una condizione di gara come il suggerimento timestamp nella mia risposta, ma ancora una volta non è un grosso problema in un sito con pochi amministratori che caricano le foto. – Jeff