[PHP] tri d'un dossier dans l'ordre croi

Résolu/Fermé
valou078 Messages postés 45 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 19 avril 2012 - 1 oct. 2009 à 17:53
valou078 Messages postés 45 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 19 avril 2012 - 24 nov. 2010 à 17:29
Bonjour,
Lorsque j'affiche mes petites images elles s'appelle "image1;image2;image3;image4;image5;image6;image7;image8;image9;image10;image11.....ect jusqu'a 26
Or le probleme est qu'elle ne se trie pas dans l'ordre croissant a l'affichage sur la page web. elles sont dans le desordre.
Quelqu'un pourrais t-il m'aider pour les triers dans l'ordre croissant
Merci


voila mon code
<?php
//-------Declaration des Grandes images---------------//
if (isset ($_GET['image'])){ //Source contiendra le nom de l'image cliquer par defaut ce sera l'image nommer Colline.jpg
$source=$_GET['image']; //La variable $source est creer dans le but de savoir si l'utilisateur a cliquer sur l'image
} else {
$source='image1.jpg'; //grande image image par defaut
}
?>

<div id="grand">
<img src="<?php echo '../../cyrilor3/cyrilor3/images/liquidation/grand/'.$source; ?>"/>
</div>

<?php
//-------Declaration des Textes images---------------//
if (isset ($_GET['image'])){ //Source contiendra le nom de l'image cliquer par defaut ce sera l'image nommer Colline.jpg
$source2=$_GET['image']; //La variable $source est creer dans le but de savoir si l'utilisateur a cliquer sur l'image
} else {
$source2='image1.jpg'; // image texte
}
?>

<div id="texte">
<img src="<?php echo '../../cyrilor3/cyrilor3/images/liquidation/texte/'.$source2; ?>"/></div>



<?php
//-------Declaration des Petites images et ouverture du fichier---------------//
$rep=opendir('../../cyrilor3/cyrilor3/images/liquidation/petit'); //ouverture du repertoire qui contient les images opendirectory
while($fichier=readdir($rep)){  //Boucle pour lister les images dans le repertoire
if (($fichier!='.') 
&& ($fichier!='..') 
&& ($fichier!='Thumbs.db')) { //Elimination des dossiers systemes cachés et des dossiers Thumbs

?>
<div id="petit">
<a href="<?PHP echo 'liquidation.php?image='.$fichier;?>">
<img src="<?php echo '../../cyrilor3/cyrilor3/images/liquidation/petit/'.$fichier;?>" alt="<?php echo stripslashes($fichier);?>" border="0" width="70" height="49"/></a>
<?php echo stripslashes($fichier); ?>
</div>

<?php
}
}
closedir($rep); // Fermeture du repertoire closeddirectory
?>
</div>
A voir également:

4 réponses

cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
Modifié par cs-bilou le 24/04/2010 à 20:11
Tu peut faire un truc comme sa:
for ( $i = 0 ; $i < 26 ; $i++) 
{ 
//Afficher l'image $i 
}


Bilou
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
0
valou078 Messages postés 45 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 19 avril 2012 2
2 oct. 2009 à 16:40
Finalement j'ai trouvée mon bonheur que je partage

<?php
//-------Declaration des Grandes images---------------//
if (isset ($_GET['image'])){ //Source contiendra le nom de l'image cliquer par defaut ce sera l'image nommer image01.jpg
$source=$_GET['image']; //La variable $source est creer dans le but de savoir si l'utilisateur a cliquer sur l'image
} else {
$source='image01.jpg'; //grande image image par defaut
}
?>

<div id="grand">
<img src="<?php echo '../../cyrilor3/cyrilor3/images/liquidation/grand/'.$source; ?>"/>
</div>

<?php
//-------Declaration des Textes images---------------//
if (isset ($_GET['image'])){ //Source contiendra le nom de l'image cliquer par defaut ce sera l'image nommer image01.jpg
$source2=$_GET['image']; //La variable $source est creer dans le but de savoir si l'utilisateur a cliquer sur l'image
} else {
$source2='image01.jpg'; // image texte
}
?>

<div id="texte">
<img src="<?php echo '../../cyrilor3/cyrilor3/images/liquidation/texte/'.$source2; ?>"/></div>

<?php  
//-------Declaration des Petites images---------------//

$rep = opendir('../../cyrilor3/cyrilor3/images/liquidation/petit'); 
while (false !== ($fichier_c = readdir($rep))) { 
    $fichier[] = $fichier_c; 
} 
sort($fichier); 
$i=0; 
while ($i  < count($fichier)) {  //Boucle pour lister les images dans le repertoire 

if (($fichier[$i]!='.') 
&& ($fichier[$i]!='..')  
&& ($fichier[$i]!='Thumbs.db')) { //Elimination des dossiers systemes cachés et des dossiers Thumbs 

?> 
<div id="petit">

<a href=" <?php echo 'liquidation.php?image='.$fichier[$i];?> ">
<img src=" <?php echo '../../cyrilor3/cyrilor3/images/liquidation/petit/'.$fichier[$i];?> " alt=" <?php echo stripslashes($fichier[$i]);?> " border="0" width="70" height="49"/></a>
<?php //echo stripslashes($fichier[$i]); ?> 

</div>

<?php  
}  
$i++; 
}  
closedir($rep); // Fermeture du repertoire closeddirectory

//-------FIN Declaration des Petites images Fermeture du Fichier---------------//
?> 


0
Utilisateur anonyme
19 oct. 2009 à 03:37
et pourquoi pas une boucle for plutôt que while ?
for ($i = 0; $i < count($fichiers); $i++) {
...
}


Tes images n'ont-elles pas toutes le même format (jpg, ou png...), qui te permettrait de faire un strstr sur leur extension dans ta première boucle while, et donc de ne remplir le tableau qu'avec des images valides (ça éviterait ce long if) ?
0
merci pour vos reponse
valou078
0
valou078 Messages postés 45 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 19 avril 2012 2
24 nov. 2010 à 17:29
Version finale du diaporama

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Diaporama Cyrilor</title>
<style type="text/css">
<!--
body {
text-align:center;
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #666666;
position : absolute;
color: #ffffff; /*couleur du texte*/
width: 700px; /*Largeur du titre*/
height:100px;
border: solid #FFFFFF 0px; /*couleur de la bordure et style bordure*/
padding:0;
margin:0;

}
.grand {
margin-left:50px;
margin-top: 50px;
margin-bottom:20px;
margin-right:0px;
text-align:right;
position:relative;
float:right;
border:dashed #FFFFFF 2px; /*couleur de la bordure et style bordure*/
width:250px; /*Cadre autour de l'image*/
height:225px;
display: inline;
}
.texte {
text-align:right;
position:absolute;
float:right;
top: 400px;
left: 10px;
bottom:10px;
right:0px;
border:solid #FFFFFF 0px; /*couleur de la bordure et style bordure*/
}

.petit {
top:10px;
margin-left:5px;
margin-top: 5px;
margin-bottom:5px;
margin-right:5px;
text-align:right;
position:relative;
float:left;
border:dashed #FFFFFF 2px; /*couleur de la bordure et style bordure*/
width:70px; /*Cadre autour de l'image*/
height:49px;
}
</style>

</head>

<body>

<h1 align="center" > Diaporama </h1>


<?php
//-------Declaration des Grandes images---------------//
if (isset ($_GET['image'])){ //Source contiendra le nom de l'image cliquer par defaut ce sera l'image nommer image01.jpg
$source=$_GET['image']; //La variable $source est creer dans le but de savoir si l'utilisateur a cliquer sur l'image
} else {
$source='image01.jpg'; //grande image image par defaut
}
?>
<div class="grand"><img src="<?php echo '../cyrilor/images/liquidation2/grand2/'.$source; ?>"/></div>
<br/>
<?php
//-------Declaration des Textes images---------------//
if (isset ($_GET['image'])){ //Source contiendra le nom de l'image cliquer par defaut ce sera l'image nommer image01.jpg
$source2=$_GET['image']; //La variable $source est creer dans le but de savoir si l'utilisateur a cliquer sur l'image
} else {
$source2='image01.jpg'; // image texte
}
?>
<div class="texte" ><img src="<?php echo '../cyrilor/images/liquidation2/texte2/'.$source2; ?>"/></div>
<br/>

<?php
//-------Declaration des Petites images---------------//

$rep = opendir('../cyrilor/images/liquidation2/petit2');
while (false !== ($fichier_c = readdir($rep))) {
$fichier[] = $fichier_c;
}
sort($fichier);
$i=0;
while ($i < count($fichier)) { //Boucle pour lister les images dans le repertoire

if (($fichier[$i]!='.')
&& ($fichier[$i]!='..')
&& ($fichier[$i]!='Thumbs.db')) { //Elimination des dossiers systemes cachés et des dossiers Thumbs

?>

<div class="petit">

<a href=" <?php echo 'diaporamaCyrilor.php?image='.$fichier[$i];?> ">
<img src=" <?php echo '../cyrilor/images/liquidation2/petit2/'.$fichier[$i];?> " alt=" <?php /*echo stripslashes($fichier[$i]);*/?> " border="0" width="70" height="49"/></a>

<?php //echo stripslashes($fichier[$i]); ?>

</div>
<?php
}
$i++;
}
closedir($rep); // Fermeture du repertoire closeddirectory

//-------FIN Declaration des Petites images Fermeture du Fichier---------------//
?>

</body>
</html>
0