[RESOLU] Gallerie image par des ARRAY

Petit nouveau ! | 4 Messages

09 avr. 2013, 02:39

Bonjour tous, ^^

Je veux svp savoir comment extraire 3 informations ou plus d'un dossier donné et les mettres dans un array comme

$array['miniature'] = $min_dir

$array['image'] = $img_dir

$array['date'] = $date

et Trier le tableau $array en fonction de $array['date']

Enfin tout ça c'est pour mettre une galerie des images et la traiter en fonction de date ^^

ViPHP
AB
ViPHP | 5818 Messages

09 avr. 2013, 02:59

Pour récupérer la date tu peux utiliser filemtime ou sinon il y a des méthodes avec DirectoryIterator

Pour le reste il nous manque des informations pour distinguer $min_dir et $img_dir.

Sinon sur le principe c'est pas une bonne idée de mettre les images et les miniatures dans un même dossier. Faire deux dossiers avec un dossier "image" et un dossier "miniatures" possède de nombreux avantages.

Petit nouveau ! | 4 Messages

09 avr. 2013, 14:32

Bonjour, Oui
j'ai deux dossiers différent images et miniature et je sais extraire la date mais bon allé je vous passe mon code =D


C'est la partie ou je veux créé un tableau contenant les images et les miniatures et aussi la date
elle est marqué par //Boucle sur le répertoire On extrait aussi le Nom de l'image et de la miniature
<?php
	// On créé d'abord des sous-dossier Thumbnails et Images en fonction de $_SESSION['username']
	$file_location = 'Images/'.$_SESSION['username'].'/';
	if (isset($_SESSION['username']) AND !file_exists($file_location) ) 
	{ mkdir('Images/'.$_SESSION['username']); mkdir('Thumbnails/'.$_SESSION['username']) ;}

	// Grace a ce systeme on peut afficher les images et leurs minatures 
	$dos_mini = './Thumbnails/'.$_SESSION['username'].'/';
	$dos_img  = './Images/'.$_SESSION['username'].'/';
	$Ressource = opendir($dos_mini);
	// on calcule combien d'image on a 
	$filecountjpg1 = count(glob($dos_mini . "*.jpg"));$filecountjpg2 = count(glob($dos_mini . "*.JPG")); $filecountjpg= $filecountjpg1+$filecountjpg2;
	$filecountpng1 = count(glob($dos_mini . "*.png"));$filecountpng2 = count(glob($dos_mini . "*.PNG")); $filecountpng= $filecountpng1+$filecountpng2;
	$nb_imgs = $filecountjpg+$filecountpng; 
	echo '<span class="txt_imgs"> '.$nb_imgs.' images</span><br/>';
	/* Pagination  des fichiers */
	

	//ici le nombre d'image à afficher par page
		$nb_imgs_par_page = 12;
		$moinsun=$nb_imgs_par_page-1;
		$url_page = $_SERVER['PHP_SELF'];
	//Numérotation de la page
		if(empty($_GET['page']))
			{
				$num_page = 1;
			}
		else{
				$num_page = (is_numeric($_GET['page'])?$_GET['page']:1);
			}
	//Ouverture du répertoire
		$ouverture = opendir($dos_mini);
		$compteur = 0;
	//début de la numérotation
		$debut = ($num_page - 1) * $nb_imgs_par_page;
	//Fin de la numérotation
		$fin = $debut + $moinsun;
	//Boucle sur le répertoire On extrait aussi le Nom de l'image et de la miniature 
		while (($Fichier = readdir($ouverture)) !== false) 
		{		$berk = array('.', '..');

				$dir_mini = $dos_mini.$Fichier;
				$dir_img  = $dos_img.$Fichier;
				$img_name = $dir_mini ; 
				$img_name = preg_replace('#jpg|png|jpg|mini|Thumbnails|/|\.#i', '',$img_name);
				
				
				if(!in_array($Fichier, $berk) && !is_dir($dir_mini))
				{
					
						
					
				}
			if($Fichier != '.' && $Fichier != '..' && $Fichier != $url_page) 
			{
				if ($compteur >= $debut && $compteur <= $fin ) 
				{
					if($compteur==$debut){}
					{
					?>
					
							<a href="<?php echo $dir_img ?>">		
							<img src="<?php echo $dir_mini ?>" title="<?php echo date ("d/F/Y H:i",filemtime($dir_mini)); ?>" alt="Img" /></a>
							
					<?php 
					}	
				}
				$compteur++;
			}
		}
		closedir($ouverture);
	
	// La recupération de la page à afficher 
	$files = glob('*.*');
	$nb_pages = ceil($nb_imgs/ $nb_imgs_par_page);
	
	if(!isset($_GET['page']))	$page = 1;
	
	elseif($_GET['page'])		$page = $_GET['page'];
	else $page = $nb_pages;
	$lien     = 'images.php?page=' ;
	$next     = $page+1;
	$previous = $page-1; 
	// Les liens de navigations
	echo '<br/>';
		if ($previous !=0) {echo '<a href="'.$lien.$previous.'"> Previous </a>';}									
	for($page=1; $page <= $nb_pages; $page++)		
		{ echo '<a href="'.$lien.$page.'" > '.$page.' </a>';}
	if ($next <= $nb_pages)	   {echo '<a href="'.$lien.$next.'"> Next </a>';}

?>