[PHP] Gestion des favoris

Gestion des favoris [PHP] - PHP - Programmation

Marsh Posté le 17-09-2004 à 14:19:00    

Bonjour à tous,  
 
Je tente de faire une page web où se trouvera mes favoris, histoire d'y avoir accès de partout.
 
J'ai donc monté mon dossier favoris sous linux pour avoir accès aux fichiers .url d'Xp.
 
Un fichier .url ça se présente comme cela :
 
[DEFAULT]
BASEURL=http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html
[InternetShortcut]
URL=http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html
Modified=2027C8F88367C401B6
 
Mon problème est le suivant, j'arrive à extraire l'url d'un fichier, mais dès que je veux prendre l'url de plusieurs fichiers à la suite ( à l'aide d'un for ça foire total ).
 
Voici mon bout de code :
 

Code :
  1. <?php
  2. for($i=2;$i<$total;$i++){
  3. $fp = fopen("$dir/$files[$i]","r" );    // On ouvre le fichier .url
  4. while (!feof($fp)) {                   // On le lit
  5.         $page.=fgets($fp,4096);
  6. }
  7. fclose($fp);
  8. $url= eregi("URL=(.*)\[InternetShortcut\]",$page,$regs); // Je prends l'url
  9. echo "<br />";
  10. echo $regs[1];
  11. echo "<br />";
  12. }
  13. ?>


 
Pour un fichier, j'obtiens :
 


 
Pour plusieurs fichiers (ici 2) :
 

Citation :

http://people.via.ecp.fr/~alexis/f [...] linux.html  
 
http://people.via.ecp.fr/~alexis/f [...] linux.html [InternetShortcut] URL=http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html Modified=2027C8F88367C401B6 [DEFAULT] BASEURL=http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html  
 
http://people.via.ecp.fr/~alexis/f [...] linux.html [InternetShortcut] URL=http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html Modified=2027C8F88367C401B6 [DEFAULT] BASEURL=http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html [InternetShortcut] URL=http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html Modified=2027C8F88367C401B6 [DEFAULT] BASEURL=http://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html


 
Voila c'est surement quelque chose de très bête, mais si vous pouviez m'aider ça m'arrangerait bien :D
 
Merci d'avance  :hello:


Message édité par vanbee le 17-09-2004 à 14:19:54
Reply

Marsh Posté le 17-09-2004 à 14:19:00   

Reply

Marsh Posté le 17-09-2004 à 19:53:15    

vanbee a écrit :

Bonjour à tous,  
 
Je tente de faire une page web où se trouvera mes favoris, histoire d'y avoir accès de partout.
 


 
Hum mon prochain projet risque de t'intéresser un max :D
Un gestionnaire de favoris en ligne (entre autre, avec aussi les contacts etc)
 
 
il me faudra à mon avis un bon moi de dév avant de proposer quelque chose d'utilisable...


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Marsh Posté le 17-09-2004 à 20:06:56    

En effet :)
 
Mais bon, j'aimerais bien coder ça moi-même histoire d'avoir la satisfaction personnelle :)
 
Néanmoins, je jetterai volontiers un oeil sur ton projet :D
 
:hello:


Message édité par vanbee le 17-09-2004 à 20:07:33
Reply

Marsh Posté le 18-09-2004 à 10:10:57    

Tu concatenes $page dans le while, donc il te prend AMHA ce qu'il trouve entre le premier URL et le dernier [InternetShortcut].
 
Mets tout ton bloc de traitement et d'echo dans ton while !FEOF et ne concatene pas $page :
$page.=fgets($fp);  
 
Essaye, ça devrait mieux passer :)

Code :
  1. <?php
  2. for($i=2;$i<$total;$i++){
  3. $fp = fopen("$dir/$files[$i]","r" );    // On ouvre le fichier .url  
  4. while (!feof($fp)) {                   // On le lit  
  5.         $page=fgets($fp);
  6.     $url= eregi("URL=(.*)\[InternetShortcut\]",$page,$regs); // Je prends l'url  
  7.     echo "<br />";
  8.     echo $regs[1];
  9.     echo "<br />";
  10. }
  11. fclose($fp);
  12. }
  13. ?>

Reply

Marsh Posté le 18-09-2004 à 10:23:31    

Apres un café, les neurones fonctionnent mieux  :pt1cable:  
 
Il faut effectivement mettre l'eregi dans ta boucle sinon ça ne peut pas marcher... mais ma proposition est crade car elle te génère plein de lignes vides... voilà qui devrait être mieux :
 

Code :
  1. <?php 
  2. for($i=2;$i<$total;$i++){ 
  3. $fp = fopen("$dir/$files[$i]","r" );    // On ouvre le fichier .url   
  4. while (!feof($fp)) {                   // On le lit   
  5.     $page=fgets($fp);
  6.     if(eregi("URL=(.*)\[InternetShortcut\]",$page,$regs)){//si favori trouvé   
  7.        echo "<br />"; 
  8.        echo $regs[1]; 
  9.        echo "<br />";
  10.        }
  11. } //while  
  12. fclose($fp); 
  13. } //for  
  14. ?>

Reply

Marsh Posté le 23-09-2004 à 11:26:48    

mééeeeuuu  
 
je suis en train de me coder mon truc aussi :D
mais je passe par une Bdd, je fait la structure pour le moment  
 
j'espere pouvoir ranger mes favoris en repertoires et ss/rep ...

Reply

Marsh Posté le 23-09-2004 à 11:53:35    

jolly a écrit :

mééeeeuuu  
 
je suis en train de me coder mon truc aussi :D
mais je passe par une Bdd, je fait la structure pour le moment  
 
j'espere pouvoir ranger mes favoris en repertoires et ss/rep ...


 
moi c'est fait :D (je partage le bookmark avec un pote)
 
--> voir signature

Reply

Marsh Posté le 23-09-2004 à 15:46:18    

bravo! moi aussi j'ai le mien :p


---------------
Matt
Reply

Marsh Posté le 24-09-2004 à 18:19:36    

jolly a écrit :

mééeeeuuu  
 
je suis en train de me coder mon truc aussi :D
mais je passe par une Bdd, je fait la structure pour le moment  
 
j'espere pouvoir ranger mes favoris en repertoires et ss/rep ...


hum... je suis dessus aussi :D
J'ai fini la structure, les selects aussi,
une petite partie de la mise en page.
 
Il me reste le plus long, l'interface "d'admin".


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Sujets relatifs:

Leave a Replay

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