Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1514 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Parser un xml sur plusieurs pages ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Parser un xml sur plusieurs pages ?

n°1383005
seabird
Posté le 07-06-2006 à 16:47:08  profilanswer
 

bonjour,
 
Actuellement je parse un fichier xml en php, en faisant une mise en cache du code généré. Cependant maintenant le fichier xml devient un peu long. Je voudrais donc le parser sur plusieurs pages? Afficher par exemple 20 résultats par page.
Voila le code que j'utilise:
 

Code :
  1. <?php
  2. // le répertoire "cache"  
  3. $dir_cache = 'cache/';
  4. // nom du fichier mis en cache
  5. $file_cache1 = 'flux1.html';
  6. if (!is_dir($dir_cache)) {
  7. exit ('Répertoire cache "'.$dir_cache.'" inexistant !');
  8. }
  9. // on impose la mise à jour avec une certaine periodicité
  10. $date_modif1 = time();
  11. // le delai entre deux rafraichissements en secondes  
  12. $delai1 = 43200;
  13. // le fichier est-il en cache et suffisamment jeune
  14. $file_cache1 = $dir_cache.$file_cache1;
  15. $en_cache1 = file_exists($file_cache1);
  16. if ($en_cache1) {
  17. $en_cache1 = ($date_modif1 < filemtime($file_cache1) + $delai1);
  18. }
  19. if (!$en_cache1) {
  20. // Lecture d'un fichier XML
  21. function lit_xml1($fichier,$item,$champs) {
  22.    // on lit le fichier
  23.    if($chaine = @implode("",@file($fichier))) {
  24.       // on explode sur <item>
  25.       $tmp = preg_split("/<\/?".$item.">/",$chaine);
  26.  
  27.    $nombre = sizeof($tmp);
  28.       // pour chaque <item>
  29.       for($i=1;$i<$nombre -1;$i+=2)
  30.          // on lit les champs demandés <champ>
  31.          foreach($champs as $champ) {
  32.             $tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
  33.             // on ajoute au tableau
  34.             $tmp3[$i-1][] = @$tmp2[1];
  35.          }
  36.       // et on retourne le tableau
  37.       return $tmp3;
  38.    }
  39. }
  40. // Exemple :
  41. $xml1 = lit_xml1("http://monsite.com/xml.php","item",array("title","description","link","category","url" ));
  42.   foreach($xml1 as $row1) {
  43.  
  44.  
  45.   $data1 .= '<br><table width=400 height=190 align=center cellpadding=0 cellspacing=0 bgcolor="#F8D630"  border=2>';
  46.   $data1 .= '<tr>';
  47.   $data1 .= '<td colspan=2 height=25 align=center bordercolor=#FFFFCC><a href='.$row1[2].'><font color="#000000">'.$row1[0].'</font> </a></td>';
  48.   $data1 .= '</tr>';
  49.   $data1 .= '<tr>';
  50.   $data1 .= '<td bordercolor=#FFFFCC height="136" width="133" valign="middle" align="center"><a href='.$row1[2].'><img src='.$row1[4].' border=0></a></td>';
  51.   $data1 .= '<td  bordercolor=#FFFFCC ><span class="tailledescrip" ><div style="margin-left:10px;">'.$row1[1].'</div></span></td>';
  52.   $data1 .= '</tr>';
  53.   $data1 .= '<tr>';
  54.   $data1 .= '<td colspan=2 height=25 bordercolor=#FFFFCC><p><em>catégorie :</em> '.$row1[3].' <em> </td>';
  55.   $data1 .= '</tr>';
  56.   $data1 .= '</table><br>';
  57.  
  58.  
  59. }
  60. $fd1 = fopen($file_cache1, "w" );
  61. fputs($fd1, $data1);
  62. fclose($fd1);
  63. } // fin if !$en_cache1
  64. include $file_cache1;
  65. ?>


 
Je ne vois pas trop comment modifier ce code ?
 
Merci

mood
Publicité
Posté le 07-06-2006 à 16:47:08  profilanswer
 

n°1383313
nargy
Posté le 07-06-2006 à 22:53:22  profilanswer
 

Essaye de modifier plutôt:
http://monsite.com/xml.php
en xml.php?page=1


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Parser un xml sur plusieurs pages ?

 

Sujets relatifs
Cherche une API JAVA pour parser une DTD[Résolu] parser un fichier xml en ignorant le DTD
VBA pour Word XP - Ne pas imprimer les pages blanches[VB] Excel - Assembler plusieurs fichiers
Plusieurs "form" imbriquéesenvoi de formulaire à plusieurs champs de texte
conception de pages graphiquesEnvoyer plusieurs fois données d'un formulaire sans changer de page
quel logiciel pour éditer des pages html[Résolu] Plusieurs AND / OR dans un if
Plus de sujets relatifs à : Parser un xml sur plusieurs pages ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR