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 :

Données dynamiques d'un autre serveur [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bbo1991
    Profil pro
    oidfsdfsd
    Inscrit en
    Novembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : oidfsdfsd

    Informations forums :
    Inscription : Novembre 2006
    Messages : 100
    Par défaut Données dynamiques d'un autre serveur
    Hello à tous,
    Ceci fait suite à un post envoyé la semaine dernière.
    Voici le contexte j'ai 2 sites dont un avec BDD MySQL.

    Dans la BDD j'ai des données statistiques sur les avis de mes visiteurs.
    je peux évidemment les exploiter et les afficher sur le site qui est hébergé avec cette base.

    Mais voilà, j'aimerai bien pouvoir les afficher aussi sur mon second site qui lui est situé sur un autre serveur, évidemment je veux que ça se fasse automatiquement: les données affichées seront mis à jour disons tous les 2 jours mais pas en temps réel.

    ma première idée était de faire un simple script php pour aller chercher les résultats dans la base, or vu que ce dernier est sur un autre serveur il s'est avéré que celà est impossible....

    Donc là je cherche un autre moyen pour automatiser ceci.
    Vos idées sont les bienvenues

  2. #2
    Membre confirmé Avatar de bbo1991
    Profil pro
    oidfsdfsd
    Inscrit en
    Novembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : oidfsdfsd

    Informations forums :
    Inscription : Novembre 2006
    Messages : 100
    Par défaut
    Ok,
    Une idée:
    créer un fichier "a_inclure.html" contenant le code HTML du résultat à afficher.
    Ce fichier sera créé sur le même serveur que la BDD et y sera placé dans un dossier que l'on rendra accessible de l'extérieur.

    Il me sembe que l'on peut inclure une image situé dans un autre site non? en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="http://....">
    de la même manière est-ce qu'on pourrait afficher le contenu "a_inclure.html" ???
    Si oui une partie du problème est résolu

    L'autre partie c'est comment mettre "a_inclure.html" à jour au bout de deux jours ????
    coment faire un truc genre cron tab pour exécuter le script php de mise à jour tous les deux jours????

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 700
    Par défaut
    il vaux mieux transférer uniquement les données entre les deux serveurs comme ça le transfert sera plus rapide puisqu'il y a moins d'information, ensuite tu pourras facilement les stocker dans une base de donnée qui aura la même structure que le base d'origine. Et pour finir ça te permettra de présenter te données de façon indépendante du serveur 1.

    Pour le transfert de PHP à PHP je te conseille de passer par la fonction http://php.net/serialize au départ et http://php.net/unserialize à l'arrivé
    en gros ton code sera comme ça :
    Serveur 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // lecture de la base de données
     
    // stockage des enregistrement dans un tableau $tableau
     
    // affichage
    echo serialize($tableau);
    Serveur 2 (script que tu lances tous les deux jours)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $recuperation = file_get_contents('http://serveur1/fichier.php');
    $tableau = unserialize($recuperation);
     
    // là dans $tableau tu as tes enregistrements donc tu peux les stocker dans la base de données de serveur2

  4. #4
    Membre confirmé Avatar de bbo1991
    Profil pro
    oidfsdfsd
    Inscrit en
    Novembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : oidfsdfsd

    Informations forums :
    Inscription : Novembre 2006
    Messages : 100
    Par défaut
    Merci pour la fonction serialize ça devrait marcher pour le transfert des données!

    Seul hic maintenant: la mise à jour!

    Du côté du serveur n°2 je peux en effet lancer le script tous les deux jours et ainsi récupérer les données.
    Mais voilà, il y a une autre contrainte:au bout des deux jours je dois aller chercher de nouvelles données MAIS les données cherchées doivent elles mêmes êtres mise à jour au bout de ces deux jours...
    Pour faire plus simple disons que le tableau à serialiser doit lui même être mis à jour au bout de ces deux jours.

    Le mieux serait donc que le tableau soit mis à jour au bout des deux jours mais comment automatiser celà sur le serveur 1, ou le déclencher quand le script2 s'active?

    un truc genre lancer le script1(lecture de la BDD et construction du tableau à sérialiser) à partir du serveur 2?

  5. #5
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 700
    Par défaut
    Citation Envoyé par bbo1991
    Le mieux serait donc que le tableau soit mis à jour au bout des deux jours mais comment automatiser celà sur le serveur 1, ou le déclencher quand le script2 s'active?
    c'est ce que fait le code que je t'ai indiqué
    avec la fonction "file_get_contents" tu lances le script que se trouve sur le serveur 1

    regarde là pour plus d'informations sur les étapes d'appel à une page web :
    http://ericberger.developpez.com/web...ronnement-web/

  6. #6
    Membre confirmé Avatar de bbo1991
    Profil pro
    oidfsdfsd
    Inscrit en
    Novembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : oidfsdfsd

    Informations forums :
    Inscription : Novembre 2006
    Messages : 100
    Par défaut
    ReSalut,
    Tu as tout à fait raison pour "file_get_contents" .

    Mon script fonctionne bien en local malheureusement une fois placé sur le serveur ça marche pas!!!

    J'ai une erreur du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Notice: unserialize(): Error at offset 0 of 969 bytes in c:\program files\easyphp1-7\www\a.php on line 4
    Mon fichier a.php étant un simple test dont le contenu est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    $recuperation = file_get_contents('http://monsite.com/b.php');
    echo $recuperation;
    $tableau = unserialize($recuperation);
     
    print_r($tableau);
     
    ?>
    Avec un fichier b.php tout aussi simple placé sur mon serveur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $tableau[]="essai";
    echo serialize($tableau);
    ?>
    Si je les mets en local sur mon serveur Easy ça marche nickel, .....

    RMQ: l'echo $recuperation du fichier a.php m'affiche bien la sérialisation pourtant, j'obtiens un truc comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a:1:{i:0;s:7:"essai";}

Discussions similaires

  1. Transférer une base de donnée facilement sur un autre serveur
    Par Fooshi dans le forum Administration
    Réponses: 2
    Dernier message: 20/10/2011, 14h17
  2. Récupérer et afficher des données dynamiques issues d'un serveur IP distant
    Par josse34 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 24/09/2011, 11h39
  3. [MySQL] Enregistrer les données d'un formulaire sur un autre serveur
    Par nixax dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 04/11/2006, 21h36
  4. [MySQL] Accéder à une base de données d'une autre site (sur un autre serveur)
    Par FCDB dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/06/2006, 16h59
  5. Réponses: 5
    Dernier message: 08/07/2005, 13h10

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