Galleria immagini semplice

  • Creatore Discussione Creatore Discussione Trapano
  • Data di inizio Data di inizio

Trapano

Utente Attivo
27 Set 2012
238
0
16
48
Ciao a tutti. Come da titolo, avrei bisogno di una galleria immagini semplice.
Ho una cartella dove carico tramite uno script php dei file immagine.
Con questo script, mi vedo visualizzata una lista che comprende i file inseriti e se clicco su un file, me lo visualizza, aprendolo.
Ma se volessi visualizzare al posto della lista dei file inseriti, direttamente le anteprime delle immagini con il loro nome sotto?
Questo è il mio file
PHP:
<?php 
// Definisco il path della cartella 
$path = "."; 


// Apro la cartella 
$dir_handle = @opendir($path) or die("Non è possibile aprire $path"); 


// Lettura e ciclo dei files 
while ($file = readdir($dir_handle)) { 


if($file == "." ||
 $file == ".."||
 $file == "altrofile.php"||
 $file == "altrofile2.php"||
$file == ".DS_Store") 


continue; 
echo "<a href=\"$file\" target=\"blank\">   $file    </a>    <br/>"; 


} 


// Chiudo la cartella 
closedir($dir_handle); 


?>
Come modifico questo?
Grazie.
 
Puoi intervenire infilando il link che ottieni in un tag img.


Un esempio al volo:
PHP:
<?php 
// Definisco il path della cartella 
$path = "."; 


// Apro la cartella 
$dir_handle = @opendir($path) or die("Non è possibile aprire $path"); 


// Lettura e ciclo dei files 
while ($file = readdir($dir_handle)) { 


if($file == "." ||
 $file == ".."||
 $file == "altrofile.php"||
 $file == "altrofile2.php"||
$file == ".DS_Store") 


continue; 
echo "<a href=\"$file\" target=\"blank\"><img src=\"$file\" style=\"width:50px\" /></a>",
       "<br />$file",
       "<br /><br />"; 


} 


// Chiudo la cartella 
closedir($dir_handle);

Lo stile che ho assegnato al tag img è per tenere le anteprime miniaturizzate: puoi cambiare il valore a piacimento oppure inserire un class e gestire lo stile da CSS ;)
 
Grazie mille... va benissimo.
Una cosa, se volessi avere due colonne anziché una?
 
Un altra cosa... Se volessi cancellare un immagine? Come dovrei fare?
 
Grazie mille... va benissimo.
Una cosa, se volessi avere due colonne anziché una?

Questa te la devi gestire a livello di formattazione html, spero di non subire una pubblica fucilazione se ti consiglio (per semplicità) di cominciare ad usare una tabella per impaginare la galleria e successivamente, quando sarai più pratico, ti consiglio di passare ad un elemento <ul> e gestirla interamente con i css.


Un altra cosa... Se volessi cancellare un immagine? Come dovrei fare?

Devi utilizzare la funzione unlink() di php, mandandogli come parametro il percorso dell'immagine che desideri eliminare.
Diciamo un qualcosa di questo tipo:
PHP:
<?php 
// Definisco il path della cartella 
$path = "."; 


// Controllo per eliminazione file:
if (!empty($_GET['deletefile'])) {

    // mi assicuro che il file che voglio eliminare esiste e che dispongo dei permessi per la cancellazione
    if (is_writable($path . DIRECTORY_SEPARATOR . $_GET['deletefile'])) {

        unlink($path . DIRECTORY_SEPARATOR . $_GET['deletefile']);

        // dopo aver eliminato il file eseguo un redirect a questa pagina per evitare un ulteriore invio dati a causa del refresh del client.
        header('Location: '. $_SERVER['PHP_SELF']);
        die();

    }else {
        trigger_error("Il file che tenti di eliminare non esiste o non disponi dei permessi necessari", E_USER_NOTICE);
    }
}


// Apro la cartella 
$dir_handle = @opendir($path) or die("Non è possibile aprire $path"); 


// Lettura e ciclo dei files 
while ($file = readdir($dir_handle)) { 


if($file == "." ||
 $file == ".."||
 $file == "altrofile.php"||
 $file == "altrofile2.php"||
$file == ".DS_Store") 


continue; 
echo "<a href=\"$file\" target=\"blank\"><img src=\"$file\" style=\"width:50px\" /></a>",
       "<br />$file | <a href=\"", $_SERVER['PHP_SELF'], "?deletefile=$file\">Elimina</a>",
       "<br /><br />"; 


} 


// Chiudo la cartella
 

Discussioni simili