Combiner deux boucles en un résultat
Actarus500
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Doctor C Messages postés 627 Date d'inscription Statut Membre Dernière intervention -
Doctor C Messages postés 627 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous expose mon problème:
J'ai un dossier image dont je liste le contenu et un fichier texte contenant ligne par ligne les titres de mes images que j'aimerai utiliser comme titre pour mon title="..." dans ma balise <img>.
Pour le code qui liste le contenu du rép. dans l'ordre croissant et fonctionne très bien j'utilise ceci:
et pour lire mon fichier *.txt ceci:
Maintenant je ne sais pas comment faire pour combiner les deux résultats afin d'obtenir quelque chose du genre:
D'avance je vous remercie pour votre aide !
Je vous expose mon problème:
J'ai un dossier image dont je liste le contenu et un fichier texte contenant ligne par ligne les titres de mes images que j'aimerai utiliser comme titre pour mon title="..." dans ma balise <img>.
Pour le code qui liste le contenu du rép. dans l'ordre croissant et fonctionne très bien j'utilise ceci:
$nomRepertoire = "../img/portraits/";
$listFichier = array() ;
if(is_dir($nomRepertoire) ) {
$dossier = opendir($nomRepertoire);
while( $fichier = readdir($dossier) ) {
if($fichier != "." AND $fichier != ".." AND stristr($fichier,'.jpg')) {
$listFichier[] = $fichier;
}
}
closedir($dossier);
natsort($listFichier);
$p = 0;
foreach($listFichier as $fichier) {
if (++$p==1) continue;
echo '<a href="'.$nomRepertoire.$fichier.'" title="test"></a>';
}
}
else {
echo "repertoire inexistant";
}
?>
et pour lire mon fichier *.txt ceci:
$noms = file("docs/personnes.txt");
$total = count($noms);
for($i = 0; $i < $total; $i++)
{
echo $noms[$i];
}
Maintenant je ne sais pas comment faire pour combiner les deux résultats afin d'obtenir quelque chose du genre:
echo '<a href="'.$nomRepertoire.$fichier.'" title="'.$noms.'"></a>'
D'avance je vous remercie pour votre aide !
A voir également:
- Combiner deux boucles en un résultat
- Resultat foot - Télécharger - Vie quotidienne
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
- Excel combiner deux cellules - Guide
- Deux whatsapp sur un téléphone - Guide
2 réponses
Salut,
En supposant que les titres des images soit enregistrés dans le même ordre que les images de ton dossier, tu peux faire quelque chose comme ceci :
Ici je récupère l'élément [$p - 1] de mon tableau car tu incrémentes $p au début de la boucle, à toi de vérifier si la correspondance est correcte (ton tableau de nom commence à l'index 0).
D'ailleurs je ne comprend pas pourquoi tu passes le premier tour de boucle, mais il doit y avoir une bonne raison.
Bonne journée
En supposant que les titres des images soit enregistrés dans le même ordre que les images de ton dossier, tu peux faire quelque chose comme ceci :
$noms = file("docs/personnes.txt");
$p = 0;
foreach($listFichier as $fichier) {
if (++$p==1) continue;
echo '<a href="'.$nomRepertoire.$fichier.'" title="' . $noms[$p - 1] . '"></a>';
}
Ici je récupère l'élément [$p - 1] de mon tableau car tu incrémentes $p au début de la boucle, à toi de vérifier si la correspondance est correcte (ton tableau de nom commence à l'index 0).
D'ailleurs je ne comprend pas pourquoi tu passes le premier tour de boucle, mais il doit y avoir une bonne raison.
Bonne journée
Bonjour,
Je ne peux pas le tester mais voici l'idée:
En souhaitant que ça fonctionne!
Echo "Lima Mike Alfa";
Je ne peux pas le tester mais voici l'idée:
//Obtenir les noms des images
$noms = file("docs/personnes.txt");
//Obtenir les images
$nomRepertoire = "../img/portraits/";
$listFichier = array();
if(is_dir($nomRepertoire) ){
$dossier = opendir($nomRepertoire);
while (false !== ($fichier = readdir($dossier))){
if($fichier != "." AND $fichier != ".." AND stristr($fichier,'.jpg')){
$listFichier[] = $fichier;
}
}
closedir($dossier);
natsort($listFichier); //Tri de la liste
//On assume que les deux listes sont correctement triées
$p = 0;
foreach($listFichier as $fichier) {
echo '<a href="'.$nomRepertoire.$fichier.'" title="'.$noms[$p].'"></a>';
$p++;
}
}
else{
echo "repertoire inexistant";
}
En souhaitant que ça fonctionne!
Echo "Lima Mike Alfa";