- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Tutorial PHP+GD] Semplice Fotogallery con ridimensionamento immagini
-
[Tutorial PHP+GD] Semplice Fotogallery con ridimensionamento immagini
Ciao a tutti!
Tempo fa volli inserire in un mio sito una fotogallery, così cercai disperatamente tra gli script preconfezionati. Avendo poi capito che non esisteva niente di facilmente personalizzabile mi misi a studiare e dopo un pò di tempo riuscii nell'intento di creare un semplice script senza l'uso di database e che creasse le miniature in automatico.Così adesso, dopo aver un pò aggiustato il codice voglio proporvelo sotto forma di tutorial/script.
Vediamo cosa fa in linea generale lo script:
- Apre la cartella dove sono contenute le foto
- Ridimensiona le foto proporzionalmente (senza perdere la qualità)
- Le stampa in un indice delle foto, sotto forma di anteprime, avente un sistema di paginazione
- Se si clicca sopra una miniatura viene aperta la foto, anch'essa ridimensionata proporzionalmente a nostro piacimento
- Crea i link per navigare all'interno delle foto più grandi.
Viste le linee generali iniziamoa spiegare come funziona:
Prima di tutto facciamo una nuova cartella contenente altre due carte che conterranno: una le foto originali, che dovremmo inserire manualmente, e l'altra le miniature generate automaticamente.
Quindi creiamo un file denominato config_gallery.php e inseriamoci questo codice dove ognuno dovra modificare le variabili a suo piacimento per personalizzare la fotogallery:
[php]
<?php
##########################Parametri per la
gestione della
fotogallery
##########################
// Qui bisogna inserire il percorso relativo la cartella in cui sono contenute
// le foto con le dimensioni originali (es: "fotogallery/foto/").$dir = "";
// Inserire qui il percorso relativo della cartella in cui si vuole che siano create le miniature
// per l'anteprima delle foto (es: "fotogallery/miniature/").
// Se non esiste verrà creata.$destination_path = "";
// Modificare questo parametro in base a quanto si vogliono piccole le miniature:
// se l'immagine è orizzontale questo numero rappresenta la larghezza in pixel della miniatura
// altrimenti, se l'immagine è verticale, rappresenta l'altezza della miniatura.$thumb_width = 130;
// Modificare questo parametro in base a quanto si vogliono piccole le miniature:
// se l'immagine è orizzontale questo numero rappresenta la larghezza in pixel della foto dopo essere stata ridimensionata
// altrimenti, se l'immagine è verticale, ne rappresenta l'altezza.$photo_width = 550;
// Compressione del file: diminuendo questo parametro si abbasserà la grandezza (in kilobyte) della miniatura
// ma anche la qualità. (Default: 100).$compression = 100;
// Numero di miniature visualizzabili per pagina.
// Se si vogliono visualizzare tutte le miniature presenti nella cartella lasciare il valore 0 (Default: 0).$numperpagina = 0;
?>
[/php]Fatto ciò dobbiamo creare il "cuore" della fotogallery. Questo file può essere scoraggiante per chi ha meno esperienza in php, ma vi assicuro che non è niente di tremendamente difficile anche perchè ho inserito molti commenti che ne facilitano la comprensione.
Quindi creiamo un file donominato main_gallery.php e inseriamoci questo codice:
[php]
<?php
#######################
# #
# Fotogallery. #
# Per configurarla #
# vai nel file: #
# config_gallery.php #
# #
#######################// Inclusione del file config_gallery.php per aquisire le variabili. include("config_gallery.php"); // Recupero della variabile passata in get. // il valore "index" rappresenta l'indice della fotogallery, "view" la visualizzazione della singola foto. @$mode = $_GET['mode']; // Definizione delle variabili in base al valore di $mode if ($mode == "index" || empty($mode) || !isset($mode)) { $quanto = $thumb_width; } elseif ($mode == "view") { $quanto = $photo_width; $destination_path = $dir; } // Aumenta la memoria utilizzabile fino a 128mb e il timeout a 4 minuti. // Questo ci consente di creare le miniature senza avere un errore di timeout dal server ini_set("memory_limit", "128M"); set_time_limit(240); // Se non esiste la cartella di destinazione delle miniature (vedi config_gallery.php) ne si forza la creazione if (!file_exists($destination_path)) { mkdir($destination_path , 0777); } // Apertura della directory in cui sono contenute le foto a dimensione originale if ($handle = opendir($dir)) { $i = 1; //Inizializzazione dell'indice // Letttura delle immagini conenute nella cartella $dir while (false !== ($file = readdir($handle))) { list($width, $height, $type, $attr) = @getimagesize($dir.$file); // Se è una immagine "JPEG" continuo con la sua elaborazione // altrimenti si passa alla foto successiva if($type == 2) { // Elaborazione delle nuove dimensioni (altezza e larghezza) in proporzione. // Ciò consente di non alterare la qualità della immagine. if($width > $height) { $new_width = $quanto; $new_height = ($quanto * $height) / $width; $new_height = number_format($new_height, 0); } elseif($height > $width) { $new_height = $quanto; $new_width = ($quanto * $width) / $height; $new_width = number_format($new_width, 0); } elseif($height == $width) { $new_width = $quanto; $new_height = $quanto; } //Se si sta visualizzando una singola foto e questa è già stata ridimensionata si ignora questo passaggio, altrimenti la foto viene ridimensionata. // L'"if" controlla se la foto in questione ha già le dimensioni desiderate. Se le dimensioni non sono uguali a quelle volute, verrà ridimensionata. if ($mode == "view") { if ($new_height != $height && $new_width != $width) { isset($compression) ? $compression = $compression : $compression = 100; // In cso non sia settata la compressione (vedi config_gallery.php) gli si assegna il valore di default $destimg=imagecreatetruecolor($new_width,$new_height) or die("Problemi nelle creazioni dell'immagine");// Creazione Immagine $srcimg=ImageCreateFromJPEG($dir.$file) or die("Problemi nell'aprire l'immagine"); //Apertura Immagine Originale ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problemi nel ridimensionamento"); //Ridimensionamento Nuova Immagine ImageJPEG($destimg, $destination_path.$file, $compression) or die("Problemi nel salvataggio"); //Salvataggio Nuova Immagine } } //Se si sta visualizzando l'indice delle foto (contenente le miniature) e queste sono già state ridimensionate si ignora questo passaggio, altrimenti la foto viene ridimensionata. // l'"if" controlla se esiste già una miniatura, chiamata con lo stesso nome della foto originale, presente nella cartella di destinazione. Se non esiste viene creata la minatura elseif (empty($mode)) { if (!file_exists($destination_path.'/'.$file)) //Se la miniatura non esiste verrà creata altrimenti si ignora questo passaggio { isset($compression) ? $compression = $compression : $compression = 100; // In cso non sia settata la compressione (vedi config_gallery.php) gli si assegna il valore di default $destimg=imagecreatetruecolor($new_width,$new_height) or die("Problemi nelle creazioni dell'immagine");// Creazione Immagine $srcimg=ImageCreateFromJPEG($dir.$file) or die("Problemi nell'aprire l'immagine"); //Apertura Immagine Originale ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problemi nel ridimensionamento"); //Ridimensionamento Nuova Immagine ImageJPEG($destimg, $destination_path.$file, $compression) or die("Problemi nel salvataggio"); //Salvataggio Nuova Immagine } } $image * = $file; //Creazione dell'array contenente le immagini $i++; //Incremento dell'indice } } // Chiusura della cartella $dir closedir($handle); } else { // Se vi è un errore nell'aprire la cartella $dir allora viene stampato a video seguente paragrafo echo "<p align=\"center\"> Impossibile eseguire lo script. <br /> Accertati di aver impostato correttamente i parametri e che la cartella (nome: \"<b>$dir</b>\" ) in cui sono contenute le foto esista </p>"; } //Se si sta visualizzando l'indice allora utilizzo la paginazione propria dell'indice if ($mode == "index" || empty($mode) || !isset($mode)) { ######################## # Paginazione per # # la visualizzazione # # dell'indice # ######################## // Se si è scelto di utilizzare la paginazione (vedi file config_gallery.php) allora vengono stampati i links. // Altrimenti verranno visualizzate tutte le immagini nella stessa pagina. if (empty($numperpagina)) { $numperpagina = count($image); } isset($_GET['page']) ? $pageNum = $_GET['page'] : $pageNum = 1; $inizio = ($pageNum - 1) * $numperpagina; $fine = $inizio + $numperpagina; $i = 1; //inizializzo l'indice foreach ($image as $id => $nome) { if ($i > $fine) { break; } if ($i >= $inizio) { // stampa la miniatura echo " <a href=\"?id=$i&from=$pageNum&mode=view\"><img src=\"".$destination_path.$nome."\" title=\"".$nome."\" border=\"0\" alt=\"foto\" /></a>"; } $i++; // incremento dell'indice } if ($fine > count($image)) { $fine = count($image); } // Conto delle pagine $maxPage = ceil(count($image)/$numperpagina); // Creazione link per accedere ad ogni pagina $self = $_SERVER['PHP_SELF']; $nav = ''; for($page = 1; $page <= $maxPage; $page++) { if ($page == $pageNum) { $nav .= " $page "; } else { $nav .= " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\">$page</a> "; } } // Creazione links Previous e Next // e quelli First page e Last page if ($pageNum > 1) { $page = $pageNum - 1; $prev = " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\"><< precedente</a> "; } else { $prev = ''; // se siamo nella 1° pag non mostriamo Prev } if ($pageNum < $maxPage) { $page = $pageNum + 1; $next = " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\" >successivo >></a> "; } else { $next = ''; // siamo nell' ultima pag, nn mostriamo Next } // mostra i links di navigazione echo "<br />Pagine: ", $prev . $nav . $next ; print_r($image); } //Se si sta visualizzando a singola foto allora utilizzo la paginazione per visualizzare i link "precedente", "torna indietro" e "successiva" elseif ($mode == "view") { ######################## # Paginazione per # # la visualizzazione # # della singola foto # ######################## //Aquiusizione dell'id della foto. Default: 1 isset($_GET['id']) ? $id = $_GET['id'] : $id = 1 ; //Stampa a video della foto echo "<img src=\"".$dir.$image[$id]."\" title=\"".$image[$id]."\" alt=\"".$image[$id]."\" />"; echo "<br />".$image[$id]; //Categoria da cui si proviene if (isset($_GET['from'])) { $from = $_GET['from']; } else $from = 1; //Link Foto Precedente if ($id == 1) { $precedente = ""; //Se siamo nella prima pagina non mostriamo il link alla foto precedente } else { $prev = $id - 1; $precedente = "<a href=\"?id=$prev&from=$from&mode=view \"><< Foto precedente</a>"; } // Link Foto Successiva if ($id == count($image)) { $successiva = ""; //Se siamo nella ultima pagina non mostriamo il link alla foto successiva } else { $next = $id + 1; $successiva = "<a href=\"?id=$next&from=$from&mode=view \">Foto successiva >></a>"; } //Stampa paginazione echo "<br /><br />".$precedente." <a href=\"?page=$from\">Indice foto</a> ".$successiva; }
?>
[/php]Fatto ciò non ci resta che andare nella pagina (il cui nome è a vostro piacimento) in cui vogliamo inserire le nostre foto e inserirvi questo codice, che seve ad includere tutti e due i file, nel punto esatto in cui vogliamo che si vedano le immagini:[php]
<?php
include("main_gallery.php");
?>[/php]Fatto ciò uploadiamo tutto sul nostro sito.
Potete vedere come funziona tramite il pacchetto zip (rapidshare.com/files/128901378/fotogalley.zip.html) che vi ho preparato oppure potete andare nel mio sito all'indirizzo: sanpaolosassari.it/gallery/allievi/1
Per qualsiasi domanda o bug non esitate a scrivere.
Ciao!
-
ciao, ottimo soprattutto per come è spiegato
anche il risultato è buonociao da danny1975
-
ottimo tutorial!
volevo sapere se questo script può funzionare utilizzandolo in due spazi web diversi, le foto in uno, e le pagine in un altro.
-
Non può funzionare su due spazi diversi.
-
ottimo lavoro e grazie...
-
Ottimo questo script...sto realizzando un sito personale in cui metto tutti i miei dipinti, ho inserito questa photogallery modificando i parametri e funziona perfettamente!! Ti chiedo solo una cortesia: ho visto che questo script stampa a video le foto in base all'ordine alfabetico dei file relativi. e' possibile invertire l'ordine dei file dell'array? Ho provato a modificare il codice mettendoci funzioni come array_reverse() e rsort() ma non riesco proprio a farlo funzionare. Qualcuno è così gentile da dirmi come si fa? Perchè ho nominato i file .jpg dei miei dipinti con numeri progressivi e vorrei che l'ultimo dipinto inserito (il più recente) sia il primo visualizzato. Lo script è fantastico e ci terrei a fare questa modifica. Grazie per l'attenzione.
-
Se non ho capito male tu hai immagini nominate in questo modo:
1.jpg (più vecchia)
2.jpg
3.jpg
4.jpg (più recente)Se è così, allora basterà apportare poche modifiche, che ho segnato con il segno <<-----, al codice qui sotto:
[PHP]
<?php
#######################
# #
# Fotogallery. #
# Per configurarla #
# vai nel file: #
# config_gallery.php #
# #
#######################// Inclusione del file config_gallery.php per aquisire le variabili. include("config_gallery.php"); // Recupero della variabile passata in get. // il valore "index" rappresenta l'indice della fotogallery, "view" la visualizzazione della singola foto. @$mode = $_GET['mode']; // Definizione delle variabili in base al valore di $mode if ($mode == "index" || empty($mode) || !isset($mode)) { $quanto = $thumb_width; } elseif ($mode == "view") { $quanto = $photo_width; $destination_path = $dir; } // Aumenta la memoria utilizzabile fino a 128mb e il timeout a 4 minuti. // Questo ci consente di creare le miniature senza avere un errore di timeout dal server ini_set("memory_limit", "128M"); set_time_limit(240); // Se non esiste la cartella di destinazione delle miniature (vedi config_gallery.php) ne si forza la creazione if (!file_exists($destination_path)) { mkdir($destination_path , 0777); } // Apertura della directory in cui sono contenute le foto a dimensione originale if ($handle = opendir($dir)) { // Lettura delle immagini conenute nella cartella $dir while (false !== ($file = readdir($handle))) { list($width, $height, $type, $attr) = @getimagesize($dir.$file); // Se è una immagine "JPEG" continuo con la sua elaborazione // altrimenti si passa alla foto successiva if($type == 2) { // Elaborazione delle nuove dimensioni (altezza e larghezza) in proporzione. // Ciò consente di non alterare la qualità della immagine. if($width > $height) { $new_width = $quanto; $new_height = ($quanto * $height) / $width; $new_height = number_format($new_height, 0); } elseif($height > $width) { $new_height = $quanto; $new_width = ($quanto * $width) / $height; $new_width = number_format($new_width, 0); } elseif($height == $width) { $new_width = $quanto; $new_height = $quanto; } //Se si sta visualizzando una singola foto e questa è già stata ridimensionata si ignora questo passaggio, altrimenti la foto viene ridimensionata. // L'"if" controlla se la foto in questione ha già le dimensioni desiderate. Se le dimensioni non sono uguali a quelle volute, verrà ridimensionata. if ($mode == "view") { if ($new_height != $height && $new_width != $width) { isset($compression) ? $compression = $compression : $compression = 100; // In cso non sia settata la compressione (vedi config_gallery.php) gli si assegna il valore di default $destimg=imagecreatetruecolor($new_width,$new_height) or die("Problemi nelle creazioni dell'immagine");// Creazione Immagine $srcimg=ImageCreateFromJPEG($dir.$file) or die("Problemi nell'aprire l'immagine"); //Apertura Immagine Originale ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problemi nel ridimensionamento"); //Ridimensionamento Nuova Immagine ImageJPEG($destimg, $destination_path.$file, $compression) or die("Problemi nel salvataggio"); //Salvataggio Nuova Immagine } } //Se si sta visualizzando l'indice delle foto (contenente le miniature) e queste sono già state ridimensionate si ignora questo passaggio, altrimenti la foto viene ridimensionata. // l'"if" controlla se esiste già una miniatura, chiamata con lo stesso nome della foto originale, presente nella cartella di destinazione. Se non esiste viene creata la minatura elseif (empty($mode)) { if (!file_exists($destination_path.'/'.$file)) //Se la miniatura non esiste verrà creata altrimenti si ignora questo passaggio { isset($compression) ? $compression = $compression : $compression = 100; // In cso non sia settata la compressione (vedi config_gallery.php) gli si assegna il valore di default $destimg=imagecreatetruecolor($new_width,$new_height) or die("Problemi nelle creazioni dell'immagine");// Creazione Immagine $srcimg=ImageCreateFromJPEG($dir.$file) or die("Problemi nell'aprire l'immagine"); //Apertura Immagine Originale ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problemi nel ridimensionamento"); //Ridimensionamento Nuova Immagine ImageJPEG($destimg, $destination_path.$file, $compression) or die("Problemi nel salvataggio"); //Salvataggio Nuova Immagine } } $i = explode('.', $file, -1); // <<---- Questo permette di utilizzare il nome delle immagini come indice per l'array successivamente ordinato $image * = $file; //Creazione dell'array contenente le immagini } } // Chiusura della cartella $dir closedir($handle); } else { // Se vi è un errore nell'aprire la cartella $dir allora viene stampato a video seguente paragrafo echo "<p align=\"center\"> Impossibile eseguire lo script. <br /> Accertati di aver impostato correttamente i parametri e che la cartella (nome: \"<b>$dir</b>\" ) in cui sono contenute le foto esista </p>"; } //Se si sta visualizzando l'indice allora utilizzo la paginazione propria dell'indice if ($mode == "index" || empty($mode) || !isset($mode)) { ######################## # Paginazione per # # la visualizzazione # # dell'indice # ######################## // Se si è scelto di utilizzare la paginazione (vedi file config_gallery.php) allora vengono stampati i links. // Altrimenti verranno visualizzate tutte le immagini nella stessa pagina. if (empty($numperpagina)) { $numperpagina = count($image); } isset($_GET['page']) ? $pageNum = $_GET['page'] : $pageNum = 1; $inizio = ($pageNum - 1) * $numperpagina; $fine = $inizio + $numperpagina; krsort($image); // <<---------- ORDINIAMO L'ARRAY IN MODO DECRESCENTE $i = 1; //inizializzo l'indice foreach ($image as $id => $nome) { if ($i > $fine) { break; } if ($i >= $inizio) { // stampa la miniatura echo " <a href=\"?id=$i&from=$pageNum&mode=view\"><img src=\"".$destination_path.$nome."\" title=\"".$nome."\" border=\"0\" alt=\"foto\" /></a>"; } $i++; // incremento dell'indice } if ($fine > count($image)) { $fine = count($image); } // Conto delle pagine $maxPage = ceil(count($image)/$numperpagina); // Creazione link per accedere ad ogni pagina $self = $_SERVER['PHP_SELF']; $nav = ''; for($page = 1; $page <= $maxPage; $page++) { if ($page == $pageNum) { $nav .= " $page "; } else { $nav .= " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\">$page</a> "; } } // Creazione links Previous e Next // e quelli First page e Last page if ($pageNum > 1) { $page = $pageNum - 1; $prev = " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\"><< precedente</a> "; } else { $prev = ''; // se siamo nella 1° pag non mostriamo Prev } if ($pageNum < $maxPage) { $page = $pageNum + 1; $next = " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\" >successivo >></a> "; } else { $next = ''; // siamo nell' ultima pag, nn mostriamo Next } // mostra i links di navigazione echo "<br />Pagine: ", $prev . $nav . $next ; print_r($image); } //Se si sta visualizzando a singola foto allora utilizzo la paginazione per visualizzare i link "precedente", "torna indietro" e "successiva" elseif ($mode == "view") { ######################## # Paginazione per # # la visualizzazione # # della singola foto # ######################## //Aquiusizione dell'id della foto. Default: 1 isset($_GET['id']) ? $id = $_GET['id'] : $id = 1 ; //Stampa a video della foto echo "<img src=\"".$dir.$image[$id]."\" title=\"".$image[$id]."\" alt=\"".$image[$id]."\" />"; echo "<br />".$image[$id]; //Categoria da cui si proviene if (isset($_GET['from'])) { $from = $_GET['from']; } else $from = 1; //Link Foto Precedente if ($id == 1) { $precedente = ""; //Se siamo nella prima pagina non mostriamo il link alla foto precedente } else { $prev = $id - 1; $precedente = "<a href=\"?id=$prev&from=$from&mode=view \"><< Foto precedente</a>"; } // Link Foto Successiva if ($id == count($image)) { $successiva = ""; //Se siamo nella ultima pagina non mostriamo il link alla foto successiva } else { $next = $id + 1; $successiva = "<a href=\"?id=$next&from=$from&mode=view \">Foto successiva >></a>"; } //Stampa paginazione echo "<br /><br />".$precedente." <a href=\"?page=$from\">Indice foto</a> ".$successiva; }
?>
[/PHP]Ho solo eliminato la creazione dell'indice nel primo ciclo sostituendola con il nome del file e poi lo ordinato in modo descrescente prima di stampare le immagini a video:
[PHP] $i = explode('.', $file, -1); //Creo l'indice
krsort($image); //Ordino
[/PHP]Attenzione che ho utilizzato il limite negativo per la funzione explode che è valida solo dal PHP5 in su... in caso ci siano problemi la cambio subito
-
Grazie mille per la disponibilità!!! Ora provo subito ad apportare le modifiche. Scusa ma non sono un genio in php... comunque la mia idea è come hai detto tu... le immagini sono 1.jpg....4.jpg e voglio visualizzarle dalla 4 alla 1. Appena finito ti faccio sapere e ti mando in privato il link al mio sito in cui puoi vedere la photogallery creata col tuo codice. Grazie ancora.
-
Ehm..ho modificato il codice come hai detto, ma a video mi stampa l'errore:
Warning: Illegal offset type in C:\Programmi\EasyPHP5.3.0\www\main_gallery.php on line 101tante volte quante sono le immagini della cartella.
La linea 101 nel mio file php corrisponde a:
$image * = $file; //Creazione dell'array contenente le immaginisubito dopo l' explode()
Premetto che sul server locale ho php 5.3.0. Intanto sto cercando di capire cosa c'è che non va...
Ciao!!!
-
Prova così... ho sbagliato nello scrivere la variabile $i, che in realtà è un array:
[PHP]
$i = explode('.', $file, -1); //Creo l'indice
$k = $i[0];
$image [$k] = $file; //Creazione dell'array contenente le immagini
[/PHP]Vediamo se così funziona
P.S.: volevo segnalarti che questo stesso script l'ho migliorato rifacendolo completamente tempo fa. Lo puoi trovare qui http://www.giorgiotave.it/forum/scripting-e-risorse-utili/106519-script-fotogallery-con-resize-lightbox-categorie.html
-
Grazie inverter..ho fatto le correzioni che hai riportato...ora le thumbnails sono ordinate al contrario come volevo 8.jpg, 7.jpg, 6.jpg eccetera fino alla 1.jpg. Il problema ora è che cliccando le thumbs si aprono le immagini ingrandite ma non c'è corrispondenza tra thumb e relativa immagine grande... scusami se ti ho creato grattacapi ma è che il tuo script è il migliore tra quelli che ho provato in rete.
-
In pratica cliccando sulla prima thumb si apre l'ultima immagine grande, la seconda thumb la penultima immagine grande.
-
Grazie Inverter ho risolto il problemino: dopo modifiche fatte un po' a tentoni ho semplicemente sostituito in:
echo " <a href="?id=$i&from=$pageNum&mode=view"><img src="".$destination_path.$nome."" title="click for a full view" alt="foto" /></a>
con $id
Ora funziona tutto!! Grazie per la cortesia!!
-
Ho messo in linea nel mio sito, di cui ti ho inviato il link, la photogallery con le immagini ordinate dalla più recente alla più vecchia. Ho provato a modificare il codice per far sì che le immagini siano contenute dentro le celle una tabella...senza riuscirci ovviamente. Ho provato a mettere un ciclo for che contiene il foreach... e l'esecuzione dello script mi ha bloccato tutto il pc....Secondo voi l'aggiunta della tabella appesantisce un pò troppo l'esecuzione dello script? Buona serata a tutti.
-
Ciao non riesco a scaricare lo script me lo potresti mandare per email? [email][email protected][/email]
-
Ciao questo script mi sembra interessante potresti inviarmelo via email.
La mia mail e' :
esmi_ale
@hotmail
.it
-
Ciao mi potresti mandare lo script per la fotogallery
-
Complimenti per questo script. Per un paio di giorni infatti ho cercato uno script che mi permettesse di capire qualcosa oltre che copiare e incollare il codice.
Sono nuovissima del php e infatti non riesco a risolvere una questioncina: sotto le miniature c'è la scritta di ordinamento delle foto e vorrei toglierla e anche sotto ogni foto c'è il titolo della foto.
Ho provato a rimuovere "$title" ma non funziona.
È che non sono assolutamente pratica.
Ringrazio ancora per lo script!
-
Vediamo se ricordo ancora qualcosa di questo script
@birilubina said:
sotto le miniature c'è la scritta di ordinamento delle foto e vorrei toglierla
Ti consiglio di commentare la riga di codice che visualizza i link della paginazione in questo modo:
cerchi la riga
[PHP] // mostra i links di navigazione
echo "<br />Pagine: ", $prev . $nav . $next [/PHP]e la fai diventare
[PHP] // mostra i links di navigazione
//echo "<br />Pagine: ", $prev . $nav . $next [/PHP]Non dovresti avere problemi e se un giorno ti interesserà avere questa funzione potrai eliminare il commento.
@birilubina said:
sotto ogni foto c'è il titolo della foto.
Ho provato a rimuovere "$title" ma non funziona.Devi eliminare la riga
[PHP]echo "<br />".$image[$id];[/PHP]
che si trova sotto il commmento "//stampa a video della foto"Ciao!
P.S.: Rileggendo il codice mi sembra di aver dimenticato un "print_r()" assolutamente inutile
Se vuoi quindi elimina la riga
[PHP] print_r($image);
[/PHP]
-
bene! grazie ancora!
adesso vorrei cambiare il carattere delle scritte "indice" eccetera ma spero di riuscirlo a fare da sola. Più che altro..sapresti consigliarmi un editor visuale di php per linux (mint)?
Io per adesso sto usando kompozer ma è per html, poi uso un traduttore online per trasformarlo in php e così facendo non riesco a capire bene nè l'html nè il php.