par
kmeleon » 17 juil. 2005, 01:49
Alors deux question. Regarde bien ton code, est-ce que ta variable $type est déclarée ??? Est-ce que une image est un fichier texte ?
if (file_exists($rep_i.$file.".gif"))
{
// Si l'image correspondant existe dans le répertoire $rep
$open = fopen($rep_i.$file.".gif","r");
while (!feof($open))
{ // Tant qu'on a pas atteind la fin du fichier
echo "image existe"; // Affiche la qq'ch
}
}
else
{ // Si pas de description
echo "<br>image existe pas";
}
Tu te rend compte le nombre de ligne qu'il y a dans une image jpeg ???
Lol d'accord tu comprend rien à ce que je dis, je vais t'expliquer. Tout vas bien !!!

Bon tu veut tester si l'image existe et l'afficher. Pour la description, tu veut vérifier si le fichier de description existe et l'afficher. Seulement le fichier de description est un fichier texte, et la fonction:
$open = fopen($rep_d.$file.".txt","r");
while (!feof($open))
{ // Tant qu'on a pas atteind la fin du fichier
echo "<br>".fgets($open, 4096); // Affiche la description contenue dans le fichier $rep_d.$file.".txt"
}
Lit une par une les lignes du fichier texte et les affiche.
MAIS une image n'est pas un fichier texte (nan ! c'est vrai ?) et donc tu ne peut pas ouvrir l'image, afficher chaque ligne, puis dire que le fichier existe et ainsi de suite.
Donc malgré tout ce charabia, voici le code définitif (commenté

):
<?php
$rep_i = "répertoire_des_images/"; // Le répertoire images
$rep_d = "répertoire_des_descriptions/"; // Le répertoire descriptions
$handle=opendir('.'); // On ouvre le répertoire courant
while (false !== ($file = readdir($handle))){ // Lit le contenu du dossier
if (is_file($file)) { // Si $file est un fichier
if (file_exists($rep_d.$file.".txt")) { // Si le fichier correspondant existe dans le répertoire $rep
$open = fopen($rep_d.$file.".txt","r"); // On ouvre le fichier texte
while (!feof($open)) { // Tant qu'on a pas atteind la fin du fichier (dernière ligne)...
echo "<br>".fgets($open, 4096); // ... on lit ligne une ligne et on affiche le contenu.
}
fclose($open); // On ferme le fichier texte
}
else
{ // Si pas de description correspondante
echo "<br>Aucune description"; // Devine !
}
if (file_exists($rep_i.$file.".gif")) // Si l'image correspondante existe dans le dossier image
{
echo "<img src=\"".$rep_i.$file.".gif"."\">"; // On affiche l'image
}
else
{ // Si pas d'image correspondante
echo "<br>image existe pas"; // Redevine !
}
}
}
closedir($handle); // On ferme le dossier "." (dossier courant)
?>
Voilà j'espère que tu as compris...
Bonne soirée
Alors deux question. Regarde bien ton code, est-ce que ta variable $type est déclarée ??? Est-ce que une image est un fichier texte ? :shock:
[php]
if (file_exists($rep_i.$file.".gif"))
{
// Si l'image correspondant existe dans le répertoire $rep
$open = fopen($rep_i.$file.".gif","r");
while (!feof($open))
{ // Tant qu'on a pas atteind la fin du fichier
echo "image existe"; // Affiche la qq'ch
}
}
else
{ // Si pas de description
echo "<br>image existe pas";
}
[/php]
Tu te rend compte le nombre de ligne qu'il y a dans une image jpeg ???
Lol d'accord tu comprend rien à ce que je dis, je vais t'expliquer. Tout vas bien !!! :wink:
Bon tu veut tester si l'image existe et l'afficher. Pour la description, tu veut vérifier si le fichier de description existe et l'afficher. Seulement le fichier de description est un fichier texte, et la fonction:
[php]
$open = fopen($rep_d.$file.".txt","r");
while (!feof($open))
{ // Tant qu'on a pas atteind la fin du fichier
echo "<br>".fgets($open, 4096); // Affiche la description contenue dans le fichier $rep_d.$file.".txt"
}
[/php]
Lit une par une les lignes du fichier texte et les affiche.
MAIS une image n'est pas un fichier texte (nan ! c'est vrai ?) et donc tu ne peut pas ouvrir l'image, afficher chaque ligne, puis dire que le fichier existe et ainsi de suite.
Donc malgré tout ce charabia, voici le code définitif (commenté :wink:):
[php]
<?php
$rep_i = "répertoire_des_images/"; // Le répertoire images
$rep_d = "répertoire_des_descriptions/"; // Le répertoire descriptions
$handle=opendir('.'); // On ouvre le répertoire courant
while (false !== ($file = readdir($handle))){ // Lit le contenu du dossier
if (is_file($file)) { // Si $file est un fichier
if (file_exists($rep_d.$file.".txt")) { // Si le fichier correspondant existe dans le répertoire $rep
$open = fopen($rep_d.$file.".txt","r"); // On ouvre le fichier texte
while (!feof($open)) { // Tant qu'on a pas atteind la fin du fichier (dernière ligne)...
echo "<br>".fgets($open, 4096); // ... on lit ligne une ligne et on affiche le contenu.
}
fclose($open); // On ferme le fichier texte
}
else
{ // Si pas de description correspondante
echo "<br>Aucune description"; // Devine !
}
if (file_exists($rep_i.$file.".gif")) // Si l'image correspondante existe dans le dossier image
{
echo "<img src=\"".$rep_i.$file.".gif"."\">"; // On affiche l'image
}
else
{ // Si pas d'image correspondante
echo "<br>image existe pas"; // Redevine !
}
}
}
closedir($handle); // On ferme le dossier "." (dossier courant)
?>
[/php]
Voilà j'espère que tu as compris... :wink:
Bonne soirée