• User

    Galleria automatica

    Ciao,
    sto creando un sito con jquerymobile (sono alle prime armi) e avrei bisogno di una gallery automatica, nel senso che non vorrei aggiungere manualmente immagine /thumb come qui sotto:

    
    
    <ul id="Gallery"> 	<li><a href="images/full/01.jpg"><img src="images/thumb/01.jpg" alt="Image 01" /></a></li> 	<li><a href="images/full/02.jpg"><img src="images/thumb/02.jpg" alt="Image 02" /></a></li> 	<li><a href="images/full/03.jpg"><img src="images/thumb/03.jpg" alt="Image 03" /></a></li> 	<li><a href="images/full/04.jpg"><img src="images/thumb/04.jpg" alt="Image 04" /></a></li> 	<li><a href="images/full/05.jpg"><img src="images/thumb/05.jpg" alt="Image 05" /></a></li> 	<li><a href="images/full/06.jpg"><img src="images/thumb/06.jpg" alt="Image 06" /></a></li> </ul>
    
    

    ma richiamare una directory con immagini, che verrà constantemente aggiornata, ad in automatico mi si aggiorna la galleria.

    Grazie.


  • User

    Allora dopo tanto girare la soluzione l'avevo sotto gli occhi nella cartella ajax di ho trovato questi:

    thumb.php

    
    <?php
        $album         = $_GET['album'];
        $imagesArr    = array();
        $i            = 0;
        /* read the descriptions xml file */
        if(file_exists('../thumbs/'.$album.'/desc.xml')){
            $xml = simplexml_load_file('../thumb/'.$album.'/desc.xml');
        }
        if(file_exists('../thumb/'.$album)){
            $files = array_slice(scandir('../thumb/'.$album), 2);
            if(count($files)){
                foreach($files as $file){
                    if($file != '.' && $file != '..' &&  $file!='desc.xml'){                    
                        if($xml){
                            $desc = $xml->xpath('image[name="'.$file.'"]/text');
                            $description = $desc[0];
                            if($description=='')
                                $description = '';
                        }    
                        $imagesArr[] = array('src'     => 'thumb/'.$album.'/'.$file,
                                             'alt'    => 'images/'.$album.'/'.$file,
                                             'desc'    => $description);    
                    }
                }
            }
        }
        $json         = $imagesArr; 
        $encoded     = json_encode($json);
        echo $encoded;
        unset($encoded);
    ?>
    
    

    album.php

    
    <?php
    if(file_exists('../thumb')){
        $files = array_slice(scandir('../thumb'), 2);
        if(count($files)){
            natcasesort($files);
            foreach($files as $file){
                if($file != '.' && $file != '..'){
                    echo '<li id="'.$file.'" class="arrow"><a href="#thumbs_container">'.$file.'</a></li>';
                }
            }
        }
    }
    ?>
    
    

    ora il mio problema è quello di usarli, ovvero: come faccio a richiamarli dalla pagina html, dove vanno inseriti?
    Grazie aticipatamente.


  • User

    Allora sono arrivato alla soluzione definitiva, ho commentato le linee di codice "manuali" ed inserito lo script album.php come potete medere qui sotto

    
    <!DOCTYPE html> 
    <html> 
        <head> 
            <title>Gallery</title> 
            <meta name="viewport" content="width=device-width, initial-scale=1" /> 
            <link rel="stylesheet" href="hxxp://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
            <link rel="stylesheet" href="css/style.css" />        
            <script type="text/javascript" src="hxxp://code.jquery.com/jquery-1.6.4.min.js"></script>
            <script type="text/javascript" src="hxxp://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
            <script type="text/javascript" src="js/script.js"></script>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head> 
        <body>
            <div data-role="page" class="page gallery-page">
                <div data-role="header">
                    <!--<a href="gallery.html" data-icon="arrow-l" data-rel="back" data-direction="reverse">Back</a>-->
                    <a href="index.html" data-icon="home" data-direction="reverse">Home</a>
                    <h1>PANORAMA</h1>
                </div><!--/header-->
                <div data-role="content" class="full-width">
                <ul class="gallery three-column-gallery" id="gallery">
                
    
                <!--
                        <li><a  href="img/gallery/full/holiday/01.jpg" rel="external"><img  src="img/gallery/thumb/holiday/01.jpg"  /></a></li>
                        <li><a  href="img/gallery/full/holiday/02.jpg" rel="external"><img  src="img/gallery/thumb/holiday/02.jpg"  /></a></li>
                        <li><a  href="img/gallery/full/holiday/03.jpg" rel="external"><img  src="img/gallery/thumb/holiday/03.jpg"  /></a></li>
                        <li><a  href="img/gallery/full/holiday/04.jpg" rel="external"><img  src="img/gallery/thumb/holiday/04.jpg"  /></a></li>
                        <li><a  href="img/gallery/full/holiday/05.jpg" rel="external"><img  src="img/gallery/thumb/holiday/05.jpg"  /></a></li>
                    </ul>      
       -->    
    
                
        <script>        
    <?php
    
    $directory = "/mobile/gallery1.html";
    
    
    if (is_dir($directory)) {
    
        if ($directory_handle = opendir($directory)) {
    
            while (($file = readdir($directory_handle)) !== false) {
    
    
                if((!is_dir($file))&($file!=".")&($file!=".."))
                    echo "<li><a href=\"gallery/thumb_".$file."\"><img src=\"gallery/thumb_".$file."\" alt=\"Image 01\" /></a></li>";
            }
    
            closedir($directory_handle);
        }
    }
    ?> 
                </script>
                
                
                        
                   
                </div><!-- /content -->
    
            </div><!-- /page -->
            
            
        </body>
    </html>
    
    
    
    

    Il problema che mi si pone ora e che quando dalla homepage clicco per far aprire la gallery (file qui sopra) mi rimane la pagina in caricamento e non si apre qla galleria.

    Dove sbaglio?

    Grazie