• User Attivo

    Estrarre una sola immagine da directory

    Salve a tutti,
    ho creato un sistema di inserimento foto in questo modo.

    L'utente carica l'immagine, in formato .png .jpg .gif e questa foto viene caricata sul server nella cartella specifica scelta da me.
    Poi prelevo il nome dell'immagine e salvo questo nome in una tabella del DB con tante altre info come id e tipo di file.

    Fin qui tutto ok, ma ho difficoltà a recuperare l'immagine per l'utente che ha ad esempio id = 1.

    Ho scritto questo codice
    [php]
    $estrapola = mysql_query("SELECT *
    FROM foto
    WHERE fk = '$id'
    ");
    while($row = mysql_fetch_array($estrapola))
    {
    $nome_file = $row['nome_file'];
    $fk = $row['fk'];
    }
    $directory = 'avatar/';
    $apri = opendir($directory);
    while(false !==($filename = readdir($apri)))
    {

        if($filename != '.' && $filename != '..')
        {
          $foto = "<img src=\"$directory/$filename\" width=\"94\" height=\"71\" >";
    
            }                
            else
            {
                $foto = "<img src=\"images/noavatar.png\" width=\"94\" height=\"71\" border=\"0\">";
               
            }        
        }
    }    
    

    [/php]

    Funziona, solo che se in quella cartella "avatar" ci vado ad inserire più di una foto, il motore php prenderà l'ultima foto scansionata dal while mentre io invece voglio che si arresti e mi stampi la foto con lo stesso nome salvata nel DB.
    Qualche idea ? Grazie


  • User Attivo

    Non c'è bisogno di far aprire la cartella da php... ovvio che ti stampa l'ultima foto che trova... indipendentemente dalle operazioni effettuate sul db...

    E' sufficiente prelevare il nome della foto dal db e inserirlo nella variabile $foto.


  • User Attivo

    Scusami allora tutta la parte relativa a questo codice :
    [php]
    $apri = opendir($directory);

    while(false !== ($filename = readdir($directory)))
    {
        if($filename != '.' && $filename != '..')
        {
    

    [/php]
    la elimino ? e come fa poi a scansionare l'immagine da trovare ?? mettiamo caso che ce ne siano 100 di foto...

    Mi fai qualche esempio ? Grazie


  • User Attivo

    Se devo prendere i calzini rossi dal cassetto, non è necessario che li tiri fuori uno per uno fino ad arrivare a quelli rossi... prendo quelli rossi e basta!
    L'importante è che di rossi ce ne siano solo un paio.

    Se la foto è nella cartella, basta creare il link col suo nome e stop; cosa serve far aprire la cartella a php e valorizzare una variabile per ogni file che è presente?


  • User Attivo

    Ah si ora è tutto chiaro.... grazie 1000 mi complicavo la vita con delle cose inutili!


  • User Attivo

    Figurati.:wink3: