11486 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous. Ceci est mon premier sujet que je poste. Le but de l'application est d'afficher une liste déroulante contenant les sous dossiers d'une racine (photos). Ensuite j'aimerais afficher les photos de ce dossier. Je n'arrive pas à rafraîchir la partie des photos. Quelqu'un a t il une idée ou des conseils?
<html xmlns="http://www.w3.org/1999/xhtml">


<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <link rel="stylesheet" href="css/test2.css" type="text/css" media="screen">

<script type="text/javascript">
	function Reload() {
			var x= document.getElementById('selectDir');
		    i = x.selectedIndex; 
				var rep = x.options[i].value;
				document.getElementById('id_rep').value = rep;
				$('#dossier').load('test2.php #dossier');
				}
	</script>
</head>


<body>
	
	<div>
		<?php
		if (isset($_GET['rep'])) {
					$rep=$_GET['rep'];
				}else{
					$rep="photos";	
				}
		?>
						
		<div id='BarreDir'>
			<p>Choisissez le nom du dossier à afficher :
			<?php
				$Liste=scanDirectories("photos",$rep);
				echo $Liste;			
			?>
			</p>
		</div>
	
		<div id="dossier">
			<input type="text" id="id_rep" value="<?php echo $rep; ?>" /p>
			<?php
				AffichePhotos($rep);
			?>
		</div>
	</div>
	
	<script>
		Function GetRep() {
			var r = document.getElementById('id_rep');
			return r.value;
			}
	</script>
</body>



<?php

function AffichePhotos($rep) {  
			$rep1=$rep."/*.jpg";
			foreach (glob($rep1) as $filename) {
			?>
			<div class="gallery">
				<a href="<?php echo $filename; ?>" target="_blank"><img src="<?php echo $filename; ?> " alt="photo" width="100"></a>
		  	</div>
			<?php
			}
		}
?>

			

<?php
function scanDirectories($rootDir,$rep) {
    // set fichiers invisibles
    $invisibleFileNames = array(".", "..", ".htaccess", ".htpasswd",".DS_Store");
    // passer dans le repertoire racine (photos)
    $dirContent = scandir($rootDir);
	// creer la liste deroulante 
	$Liste='<select id="selectDir" size="1" onChange="Reload()">';
	// ajouter le repertoire racine (photos)
	$Liste .= '<option value ="Photos">Photos</option>';
   
    // ajouter les sous dossiers (uniquement 1 niveau)
    foreach($dirContent as $key => $content) {
        
        // filtrer les fichiers
        $path = $rootDir.'/'.$content;
        // eviter les fichoers invisibles
        if(!in_array($content, $invisibleFileNames)) {
            // si c'est un dossier ajouter nom du dossier
            if(is_dir($path) && is_readable($path)) {
	            $Liste .= '<option value="'.$content.'">'.$content.'</option>';
            	}
             }
		}
		// fermer la liste deroulante
		$Liste .= '</select>';
        return $Liste;
	}
?>