Menu

[PHP] tri d'un dossier dans l'ordre croi [Résolu/Fermé]

Messages postés
47
Date d'inscription
mardi 13 janvier 2009
Statut
Membre
Dernière intervention
19 avril 2012
- - Dernière réponse : valou078
Messages postés
47
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>
Afficher la suite 

4 réponses

Messages postés
771
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
150
0
Merci
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 !
Messages postés
47
Date d'inscription
mardi 13 janvier 2009
Statut
Membre
Dernière intervention
19 avril 2012
2
0
Merci
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
Merci
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) ?
merci pour vos reponse
valou078
Messages postés
47
Date d'inscription
mardi 13 janvier 2009
Statut
Membre
Dernière intervention
19 avril 2012
2
0
Merci
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>