sono un novizio, ma ho già affrontato questo problema è nel mio piccolo ho risolto così...
Mi sono scaricato lo script sanitize al suo interno c'è la funzione PARANOID che elimina gli spazi o gli eventuali caratteri speciali, cosi faccio rinominare il file al mio scipt usando Paranoid
tipo così:
codice:
$filename=$id_img.'_'.$_FILES['file']['name'];
$estensioni_ammesse=array('jpg','jpeg','gif','png');
$estensione=substr($filename,strpos($filename,'.')+1,(strlen($filename)-strpos($filename,'.')));
$filename_old=sanitize($filename, PARANOID);
$filename_new=''.$filename_old.'.'.$estensione.'';
in questa maniera se il file che carico si chiama "mia guida personale.pdf" avrò un risultato del tipo
80miaguidapersonalepdf.pdf
dove 80 sta a significare l'id dell'immagine, così facendo non avrò duplicati nel sul db ne dentro la cartella dove andro a salvare i file perchè l'id dell'immagine sarò con A.I e quindi mai uguale...
spero di esserti stato utile