IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Dailymotion, calcul du nombre de pages (xml)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut [PHP-JS] Dailymotion, calcul du nombre de pages (xml)
    Bonjours a tous ,


    Voila je suis en train de faire un site qui affiche les favoris de mes differents comptes dailymotion et j'ai un probleme pour la pagination !

    En effet si vous avez par exemple 25 favoris, dailymotion fera un fichier XML tout les 10 favoris , c'est a dire 3 fichiers

    Comment connaitre le nombre de fichier , voila le probleme !

    NB :

    les fichiers sont fait ainsi :

    http://www.dailymotion.com/rss/bookmark/COMPTE/PAGE

    Donc je voudrai par exemple un script qui me disent l'url :

    http://www.dailymotion.com/rss/bookmark/moncompte/4 est la derniere page contenant des infos sur tes videos favorites

    J'ai commencer ce code mais la premiere boucle while bug , en effet si je l'enleve et que je modifie $i a la main cela detecte bien si le fichier contient des <item> ou non !

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?php
    //données - config
    $feed = 'http://www.dailymotion.com/rss/bookmark/moncompte';
    $i = '1';
    $page ='';
    $v = false ;
     
    //tant qu'on est pas arrivé sur une page ne content pas de balise <item> on continu ...
    //les pages dailymotion sont faites ainsi :
    //-http://www.dailymotion.com/rss/bookmark/moncompte/1 (page1)
    //-http://www.dailymotion.com/rss/bookmark/moncompte/2 (page2)  etc ..
     
    while (!$v) {
      $url = $feed.'/'.$i;
      $fp = fopen($url,"r");
        while (!feof($fp)) { //on parcourt toutes les lignes
          $page .= fgets($fp, 4096); // lecture du contenu de la ligne
        }
      fclose($fp);
      $expr = "<item>";
      $pos = strpos($page, $expr);
      if ($pos === false){
        $v = true ;
        echo 'Page RSS '.$url.' "vide" ';
      }
      else {
       $i++;
      }
    }
    ?>
    Je n'arrive pas a faire mieux (je trouve ca un peu bourrin ) , si vous avez la moindre idée n'hesitez pas !

    Merci d'avance , Ronan

  2. #2
    Membre chevronné Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $page .= fgets($fp, 4096);
    Ne devrais-tu pas remettre $page = ''; au début de la boucle while (!$v) ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut
    Bien vu !

    Si vous avez des idée pour alleger le truc n'hesitez pas


    EDIT , j'ai fait ca comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <?php
    //données - config
    $feed = 'http://www.dailymotion.com/rss/bookmark/eikichi';
    $i = '1';
    $v = false ;
     
    //tant qu'on est pas arrivé sur une page ne content pas de balise <item> on continu ...
    //les pages dailymotion sont faites ainsi :
    //http://www.dailymotion.com/rss/bookmark/moncompte/1 (page1)
    //http://www.dailymotion.com/rss/bookmark/moncompte/2 (page2)  etc ..
     
    while (!$v) {
      $page ='';
      $url = $feed.'/'.$i;
      $page = file_get_contents($url);
      $expr = "<item>";
      $pos = strpos($page, $expr);
      if ($pos === false){
        $v = true ;
        echo 'Page RSS '.$url.' "vide" ';
      }
      else {
       $i++;
      }
    }
    ?>

Discussions similaires

  1. [MySQL] Calculer le nombre px en hauteur d'un page
    Par dancom5 dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 23/02/2012, 10h15
  2. Réponses: 1
    Dernier message: 22/10/2011, 23h30
  3. [MySQL] faire nombre des pages avec PHP
    Par kayne dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/12/2008, 19h40
  4. Comment calculer le nombre de <table> dans un page
    Par Tchupacabra dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/08/2007, 11h28
  5. PHP et nombre de pages Word
    Par deruyter dans le forum Langage
    Réponses: 1
    Dernier message: 17/11/2006, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo