Posto un esempio perfettamente funzionante già così com'è ma che si può personalizzare scaricando la libreria fancybox per jquery, il codice è stato adattato ma nel mio progetto è fatto con la classe template, quindi html separato dal php(che è sempre buona cosa) ed infatti le classi dell'html sono già impostate per la libreria jquery.Non potendo mettere anche la classe template ho messo l'html dentro il php.
Un semplice esempio di come creare una upload di un'immagine(fino a 1-2mega per immagine non ci sono problemi di caricamento)in jpeg e fare una galleria, si può caricare qualsiasi file al massimo c'è da impostare i thumbs, se provate a scaricare la libreria fancybox e create i template in html(fuori dal php) e dall'html includete la libreria fancybox vedrete anche l'effetto della galleria ;)
Spero sia interessante.
Ciao a tutti buon week-end
Codice PHP:
<?php
//template di base
echo "<fieldset class='weblog'>";
echo '<legend style="color:blue">Immagini</legend>';
echo "<form method='post' action='galleria.php' enctype='multipart/form-data'>";
echo "<input type='hidden' name='action' value='upload'/>";
echo "<label>Carica il tuo file:</label>";
echo "<input type='file' name='nomeFoto' />";
echo "<br/>";
echo "<input id='CaricaImmagine' type='submit' value='Carica online' onclick='return validate(this);'/><br/><br/>";
echo "</form>";
//Definiamo la directory di upload, dove mettere le nostre immagini
define('UPLOAD_DIR', './immagini/');
//
if(isset($_POST['action']) and $_POST['action'] == 'upload')
{ //se abbiamo cliccato l'immagine da caricare
if(isset($_FILES['nomeFoto']))
{ //recupero il nome
$file = $_FILES['nomeFoto'];
//se è tutto ok definismo il percorso e metto l'immagine nella cartella(controlliamo anche che sia stato caricato in upload
//con tmp_name is_uploaded_file)
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
{
//percorso e muovo il file fisicamente
$percorso = UPLOAD_DIR.$file['name'];
move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
}
}
}
//Impostiamo dove andiamo a leggere, in questo caso la cartella immagini dentro al nostro progetto
$dir_immagine = new DirectoryIterator('./immagini');
//scorriamo tutta la directory
foreach ($dir_immagine as $fileIMG){
//determiniamo che sia un file(togliamo i puntini inutili)
if($fileIMG->isFile()) {
//recuperiamo nome e percorso da passare al template
$nome=$fileIMG->getFilename();
$percorso = './immagini/'.$nome;
//stampiamo il template
echo "<p class='immaginiRiga' style='display : inline; margin : 0.5%;'>";
echo "<a class='fancybox-buttons' data-fancybox-group='button' href='$percorso' title='$file'><img src='$percorso' style='width: 120px;height: 80px' alt='' /></a>";
echo "</p>";
}
}
echo '<style type="text/css">
.fancybox-custom .fancybox-skin {
box-shadow: 0 0 50px #222;
}
body {
max-width: 800px;
margin: 0 auto;
}
</style>';
?>