• Bannato User Attivo

    $ 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


  • ModSenior

    togli $_SERVER['DOCUMENT_ROOT'] e metti percorsi interni, usa ../ per andare nella directory superiore


  • Bannato User Attivo

    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


  • ModSenior

    nn ho ben capito ti salva l'immagine col nome senza la parte random in pratica?


  • Bannato User Attivo

    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.


  • User

    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

    :ciauz: