[RESOLU] Aide pour finaliser code

Aide pour finaliser code [RESOLU] - PHP - Programmation

Marsh Posté le 12-08-2006 à 02:58:16    

Bonsoir,
 
J'ai un souci avec le code du menu que j'ai créé.
 
Toutes les pages de mon site ont une variable définie $desc, située en deuxième ligne, qui est la description de la page.
Chaque page comporte un include top, le contenu de la page, un include pied de page.
Dans l'include top, il y a un autre include qui est le menu.
Ce menu je veux qu'il soit généré automatiquement pour chaque rubrique (une rubrique = un répertoire du site) en listant les fichiers de la rubrique et en faisant un lien vers ces fichiers, en utilisant comme texte du lien de $desc pour chacun des fichiers trouvés.
Voici mon code :
 

Code :
  1. <?php
  2. function lire2emeligne($nomfic)
  3.   {
  4.      $point=substr($nomfic,strrpos($nomfic,"/" )+1,1);
  5.      if($point=="." )
  6.        return "";
  7.      $fd = fopen($nomfic,"r" );
  8.    
  9.     $i=1; // compteur de ligne
  10.    
  11.     while (!feof($fd)) {
  12.         // Il est temps de lire une ligne du fichier
  13.         $ligne = fgets($fd, 1024);
  14.        
  15.         if($i==2)
  16.         {
  17.           return $ligne;
  18.           break;
  19.  }
  20.  $i++;
  21.     } // fin du while
  22.    fclose($fd);
  23.    return "";
  24. } // fin de la fonction
  25. $rep = ".";
  26. $dir = opendir($rep);
  27. while ($f = readdir($dir)) {
  28.    if(is_file($rep."/".$f)) {
  29.      $tab[]=$f;
  30.    }
  31. }
  32. closedir($dir);
  33. sort($tab);
  34. foreach($tab as $f)
  35.   {
  36.       $desc=lire2emeligne($rep."/".$f); ?>
  37.   <a href=<? echo $f; ?>><? echo $desc; ?></a><BR>
  38.    <? }
  39. ?>


 
La partie qui me pose problème est la ligne qui crée l'url
A l'heure actuelle le résultat affiché est du type :
 
$desc="blabla1";
$desc="blabla2";
 
chaque ligne correspond bien au lien vers le fichier.
Moi je voudrais que seul blabla1 etc. (la description du fichier) forme le texte du lien.
 
J'ai les idées embrouillées ce soir, j'ai testé pas mal de choses qui ne fonctionnaient pas... je suis sûre que c'est simple, mais là, je vois pas où je me trompe.
 
Merci de votre aide !


Message édité par Phoebe2006 le 12-08-2006 à 14:16:28
Reply

Marsh Posté le 12-08-2006 à 02:58:16   

Reply

Marsh Posté le 12-08-2006 à 03:26:23    

J'ai pas tout compris, tu pourrais montré le probleme en copié collé ou url ou reexpliquer la fin ?

Reply

Marsh Posté le 12-08-2006 à 03:39:45    

Pour un exemple : http://smz.phidji.com/amp/
 
Le menu (à gauche), comporte bien les bons liens, mais le texte qui forme les liens est de la forme :  
$desc="blabla1";
$desc="blabla2";  
 
Moi je voudrais avoir des liens de la forme :
blabla1
blabla2

Reply

Marsh Posté le 12-08-2006 à 14:13:14    

Résolu :) !
 

Code :
  1. <?php
  2. function lire2emeligne($nomfic)
  3.   {
  4.      $point=substr($nomfic,strrpos($nomfic,"/" )+1,1);
  5.      if($point=="." )
  6.        return "";
  7.      $fd = fopen($nomfic,"r" );
  8.    
  9.     $i=1; // compteur de ligne
  10.    
  11.     while (!feof($fd)) {
  12.         // Il est temps de lire une ligne du fichier
  13.         $ligne = fgets($fd, 1024);
  14.        
  15.         if($i==2)
  16.         {
  17.           $ligne=substr($ligne,strpos($ligne,'"')+1,strrpos($ligne,'"')-strpos($ligne,'"')-1);
  18.           return $ligne;
  19.           break;
  20.         }
  21.         $i++;
  22.     } // fin du while
  23.    fclose($fd);
  24.    return "";
  25. } // fin de la fonction
  26. $rep = ".";
  27. $dir = opendir($rep);
  28. while ($f = readdir($dir)) {
  29.    if(is_file($rep."/".$f)) {
  30.      $tab[]=$f;
  31.    }
  32. }
  33. closedir($dir);
  34. sort($tab);
  35. foreach($tab as $f)
  36.   {
  37.       $desc=lire2emeligne($rep."/".$f); ?>
  38.   <a href="<?=$f ?>"><?=$desc ?></a><BR>
  39.    <? }
  40.  
  41. ?>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed