- Home
- Categorie
- Coding e Sistemistica
- PHP
- $ non deve prendere i dati
-
$ non deve prendere i dati
Ciao io ho creato uno script dove vengono uplodate delle immagini e per un fattore di sicurezza ho voluto implementarlo con una rinominazione alle immagini con la data e un numero casuale. fin qui tutto bene ma il problema è che se non vengono uplodate immagini mi sava cmq il percorso tempo+numero_casuale creandomi il link ad un immagine inesistente. come devo fare?
[php]
list($width, $height, $type, $attr) = getimagesize($_FILES['immagine']['tmp_name']);
// Creo la versione 140*105 dell'immagine (thumbnail)
$thumb = imagecreatetruecolor(140, 105);
$source = imagecreatefromjpeg($_FILES['immagine']['tmp_name']);
//creo la data al momento dell'upload
$a=time();
$b=date('dMyHis', $a);
// genero numero casuale
srand ((double) microtime( )*1000000);
$random_number = rand( );
////qui l'errore $nomeFile cmq memorizza dei dati e li invia al db
$nomeFile = $b . $random_number . $_FILES['immagine']['name'];
imagecopyresized($thumb, $source, 0, 0, 0, 0, 140, 105, $width, $height);
// Salvo l'immagine ridimensionata
if (imagejpeg($thumb, $_SERVER['DOCUMENT_ROOT']."/utenti/members/immagini/" . $nomeFile, 75))$cartella = 'imagecache/';
$percorsoBig = $_FILES['immagine']['tmp_name'];[/php]lo script lo posto completo perchè comunque è buono per creare le thumbnail e le immagini grandi, chi ne avesse bisogno potrebbe usarlo. grazie a tutti
-
togli $_SERVER['DOCUMENT_ROOT'] e metti percorsi interni, usa ../ per andare nella directory superiore
-
ciao dark.. tutto bene? cosi come scritto le immagini e le invia e tutto è funzionante tranne per il fatto che io vorrei dare un nome casuale alle immagini e come ho fatto io non va bene preche cmq la variabile nomeFile memorizza dei dati e li invia al db dove poi vengono estrappolati in un altra pagina che con un if vede se esiste o no un immagine. inserendosi nel db cmq dei dati l'if li vede e fa partire il tag img, risultato .. una casela immagine vuota brutta da vedere
-
nn ho ben capito ti salva l'immagine col nome senza la parte random in pratica?
-
aspe cerco di siegarmi meglio.. in origine la $nomeFile prende il nome dell'immagine se questa c'è altrimenti rimane vuota.
un INSERT salva la $nomeFile nel db per poi essere estratta sotto forma di tag <img>.
un if controlla se il db ha un valore fin qui tutto ok.
adesso il problema.
$nomeFile = $b . $random_number . $_FILES['immagine']['name'];
ora $nomeFile ha un dato da memorizzare ovver la data e il numero casuale
l'if vede un dato memorizzato e fa partire l'else
l'else richiama l'immagine che naturalmente è solo la data con il numero casuale... risultato quadrettino dell'imagine vuota.
-
Non ti conviene verificare se è stato veramente fatto l'upload dell'immagine tramite la funzione is_uploaded_file()?
Per la documentazione sulla funzione Google o Php.net