Newsgroup: it.comp.www.php
Titolo: Galleria Immagini SEMPLICE

Vorrei creare una galleria di immagini semplicissima. Quelle che trovo su internet sono
più che complesse ed io, che sono alle prime armi, non capisco bene come vengono gestite.
Questo è quello che mi serve: una dir con le miniature e una dir con le immagini grandi;
tutte e due create a mano da me. Lo script deve leggere e mostrare le miniature e, col
click su una di esse, aprire in una pagina nuova la foto grande relativa.
Non deve fare altro... non mi interessa neanche che "capisca" se un file è una foto o un
testo in quanto le directory le gestisco io.
Qualche aiuto??
Grazie mille....
Ciao
-- 
Se mi conosci lo sai...
Se 'un mi conosci... sai una se## chi so'!!

Se le immagini sono poche ti basta l'html,
(tag <href>) altrimenti ti serve un db in cui salvare o i nomi dei file o
le immagini vere e proprie in un campo apposito, e per questo devi
scomodare php.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

altrimenti ti serve un db in cui salvare o i nomi dei file o
Non vorrei usare un db.
Mi basterebbe che il php "mostrasse" le foto che ci sono nella directory intabellate. Sul
click in una di queste foto dovrebbe aprire un file con lo stesso nome ma situato in
un'altra directory.
Io non sono ancora pratico (e quindi capace) a tradurre quello che dico in php, per
**teoricamente** sembra facile.
C'è quallche tutorial? Guida? Boh!?!?


 C'è quallche tutorial? Guida? Boh!?!?
se ti studi le funzioni file system del manuale php non dovresti avere 
problemi, visto anche i vincoli che ti vanno bene per il tuo scopo.
Ciao Gianfranzo
-- 
ICQ#: 21258924 Nick Gianfranzo
Home page 
http://www.gianfranzo.it
Gianfranzo è contro la guerra
"dopo tutto, gli angeli non sono altro che dei volatili" D. Pennac

ti allego un testo che fa al caso tuo !
crea una directory e mettici il file (esempio index.php)
io lo ho trovata ed addattata ! è molto bella da usare e chiara !
file index.php :
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title>[EasyPHP] - Accueil www</title>
<style type="text/css">
.text1 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color:
#000000}
.text2 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color:
#000000}
.titre1 {font-family: Arial, Helvetica, sans-serif; font-size: 12px;
font-weight: bold; color: #000000}
</style>
</head>
<body bgcolor="#ffffff" vlink="#000000" alink="#000000" link="#000000">
<table width="700" border="0" cellspacing="0" cellpadding="0"
align="center">
 <tr>
  <td>
   <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
     <td>
      <div align="center"><img src=barre_blanche_700.gif width=700
height=6></div>
     </td>
    </tr>
    <tr>
     <td>
      <div align="center"><img src=barre_grise_700.gif width=700
height=12></div>
     </td>
    </tr>
    <tr>
     <td class=text1>&nbsp;</td>
    </tr>
   </table>
  </td>
 </tr>
</table>
<table width="701" border="0" cellspacing="0" cellpadding="1"
align="center">
 <tr>
<?
$rep=opendir('.');
$cont=0;
while ($file = readdir($rep)) {
 if($file != '..' && $file !='.' && $file !=''){
  if (is_dir($file)){
   echo "<td>";
                        $cont++;
   echo "<a href=visualizza.php?directory=$file target=_blank
class=text1>$file</a>";
   echo "</td>";
   if ( $cont % 5==0)
   echo "<tr>\n";
  }
 }
}
closedir($rep);
clearstatcache();
?>
  </td>
 </tr>
</table>
<br>
<table width="700" border="0" cellspacing="0" cellpadding="0"
align="center">
  <tr>
    <td class="text2"><center><B>nome ditta.<br>
              indirizzo<BR>
       cap <B>citta <BR>
       Telefono - Fax  <BR>
       Per informazioni :</B> <BR>
       <A href="mailto:
indi...@sito.com
";>
indi...@sito.com
</A></center>
    </td>
  </tr>
</table>
<table width="700" border="0" cellspacing="0" cellpadding="0"
align="center">
  <tr>
  </tr>
  <tr>
    <td><img src="/images_easyphp/barre_grise_700.gif" width="700"
height="12"></td>
  </tr>
</table>
</body>
</html>
questo richiama inoltre un altro file visualizza.php :
ti alle go il testo:
<?
 session_start();
 $IMGS_PATH=$directory;
 switch ($_REQUEST['cmd'])
 {
  case "preview" :
   echo "<h3><center>Ingrandimento foto prescelta</center></h3><center>\n";
                        echo "<img src=$img/$immagine>\n";
   echo "<br><a href='visualizza.php?directory=$img'>
precedente</a><br><br>\n";
  break;
  default:
    if ( isset($_SESSION["P"]) )
    {
     $_SESSION["P"]->free();
     unset($_SESSION["P"]);
    }
    echo "<h3><center>$IMGS_PATH</center></h3>\n";
    $d=opendir($IMGS_PATH);
    $cont=0;
    while ( $f=readdir($d) )
    if ( $f[0]!="." )
    {
     $directory[$cont]=$f;
     $cont++;
                                        $visualizza_dir = "venezia";
     echo "<a
href='visualizza.php?cmd=preview&img=$IMGS_PATH&immagine=$f'><img
src=$IMGS_PATH/$f height='100'></a> &nbsp;&nbsp;\n";
     if ( $cont % 7==0)
      echo "<br>\n";
       };
    break;
 }
?>
metti una sottodirectory con le immagini e guarda cosa fa !
ciao
Matteo

 Qualche aiuto??
Siamo qui per questo.  :-)
Innanzitutto diamo per scontato che tu abbia scelto un adeguato sistema di
naming per le miniature in modo da differenziarle dalle foto grandi.
Meglio ancora se sono in dir separate.
Quello che devi fare č una scansione della dir delle miniatura e per ogni
file che trovi, crei il tag <img> che punta alla foto grande.
Per semplificare le cose sarebbe bene che le foto grandi abbiano lo stesso
nome delle miniatura (in cartelle diverse):
Dopodichč vai giů di codice, ad esempio:
if($dp = opendir("miniature")){
    while(($file = readdir($dp)) != false){
        if($file != "." && $file != ".."){
            echo "<img src='grandi/" . $file. "'>\n";
        }
   }
}
else
    echo "ERRORE: la directory non esiste o risulta errata.\n";
Ciao
Marco

ti allego un testo che fa al caso tuo !
Bello!! Però le miniature se le crea da solo e mi sembra che restino pesanti in termini di
kb.
Mi sono studiato un po' le funzioni sul file system (come mi avete consigliato) ed ho
fatto qualcosa anch'io. Nel mio modo mi deve creare io le miniature ma almeno pesano pochi
kb. Una cosa non riesco a fare: impaginare correttamente. Vorrei che le miniature
venissero impaginate come se fossero dentro a una tabella altrimenti (e cioè nel mio
caso!!) esse vengono visualizzate una accanto all'altra senza mantenere alcun tipo di
layout grafico (quindi "non esistono colonne" di un'ipotetica tabella)
Chiedo cose di complicata realizzazione?


 Chiedo cose di complicata realizzazione?
Non e' complicato ma ... devi tenere presente che sei costretto a dare un
numero stabilito di foto in riga per pagina e quindi il numero variabile non
e' gestibile !
basta solamente impostare un contatore e al raggiungimento di quante foto
vuoi sulla riga la chiudi !
l'istruzione di cambio riga puo essere cosi , ma puoi anche migliorarla !
$contatore = $contatore++;
if (contatore=="numero foto per riga")   {
                          echo "</td></tr>
                                    <tr>";
                         $contatore=0;   }
Saluti
Matteo