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 :

recuperer les information en format JSON par PHP [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut recuperer les information en format JSON par PHP
    Bonjour,

    J'affiche le contenu d'un message en jason par var_export en écrivant dans le log :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $donnees = file_get_contents('php://input');
    $check = verification_service($donnees, $cle_hach);
     
     
    error_log('check: '.var_export($check, true));
    Dans mon log, j'ai les bons contenus, par exemple :
    {
    "totoCancel": {
    "cancel_reason": null,
    "cancelled_at": null,
    "confirmed": true,
    }
    }
    Comment je peux mettre cette information dans un autre fichier que le fichier log


    voici ce que je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $fichier_ecriture = fopen('monfichier.txt', 'a+');// line 22
    //error_log('check: '.var_export($check, true)); // line 23
    $contenu_jason = var_export($check, true)// line 24
    fputs ($fichier_ecriture, $contenu_jason ); // line 25
    fclose ($fichier_ecriture);// line 26
    voici le message d'erreur :
    syntax error, unexpected 'fputs' (T_STRING) in C:\inetpub\wwwroot\..... line 25
    et dans mon fichier, 'monfichier.txt', est vide

    2e tentative :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $fichier_ecriture = fopen('monfichier.txt', 'a+');// line 22
    //error_log('check: '.var_export($check, true)); // line 23
    //$contenu_jason = var_export($check, true)// line 24
    fputs ($fichier_ecriture, var_export($contenu_jason, true)); // line 25
    fclose ($fichier_ecriture);// line 26
    pas d'erreur, mais, il n'y a pas de bonnes informations :

    voici :
    true
    Alors comment je peux écrire dans mon fichier ?

    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut

    Jason, le format qui tue
    Je suppose que tu parles de JSON, et la fonction qui produit du json c'est json_encode() pas var_export()

    Dans ta première tentative, tu as oublié le point virgule ligne 24.
    Mais bon beaucoup plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file_put_contents('monfichier.txt', json_encode($contenu_json));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut je suis un peu perdu... complètement....
    Bonjour Sabotrage,

    Un grand merci...

    J'ai changé le code.... comme tu dis...

    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
    $donnees = file_get_contents('php://input');
    $check = verification_service($donnees, $cle_hach);
    $dataJson = json_decode(file_get_contents($donnees), true); //ligne 9
    $dataJson = array();
    	for($i = 0; 
    	$i < count($json['objet1']['confirmed']); 
    	$i++) 
    	{
     
    	$dataJson[] = $json['objet1']['confirmed'][$i]['confirmed'];
    	}
     
     
    $contenu_json = var_dump($dataJson['objet1'][0]['confirmed']);
    $contenu_json = var_dump($dataJson['objet1'][0]['confirmed']);
    avec ce code, j'ai un message dans mon log :

    [14-Apr-2015 08:10:23 America/Montreal] PHP Warning: file_get_contents({"cancel_reason":null,"cancelled_at": null,"confirmed": true, in C:\inetpub\wwwroot\toto.php on line 9
    Donc le contenu encore dans mon log et dans mon fichier, monfichier.txt, il y a le mot :
    null
    Donc on trouve mon fichier mais mon array est vide pourtant dans mon log....
    Il y a quelques choses que je ne comprends pas....

    je vais lire le document (http://php.net/manual/fr/book.json.php)... en attendant est-ce que tu as une idée où je fais la bêtise ?

    Merci encore

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $contenu_json = var_dump($dataJson['order'][0]['buyer_accepts_marketing']);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Oupsss....

    Je me suis trompé... je vais voir le code

    merci Bovino

    Attendez un peu et donne un peu de temps à moi...

    Je pense que j'ai trouvé la solution...

    Merci

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Bonjour,

    Je me suis vraiment dans l'air... Désolé

    alors j'ai rectifié mes codes et cela marche :

    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
    $donnees = file_get_contents('php://input');
    $check = verification_service($donnees, $cle_hach);
     
    	//error_log('check: '.var_export($check, true));  
     
     
    /* nomme fichier unique par date **********/
    $microTime = microtime();
    $arrayDate = explode(" ",$microTime);
    $now = date("Y_m_d__H_i_s__",$arrayDate[1]);
     
    $nomFichier = 'monfichier' . $now . $arrayDate[0]. '.txt';
    /* nomme fichier unique par date END **********/
     
     
     
     
    file_put_contents($nomFichier, $donnees, FILE_APPEND | LOCK_EX);
    Merci encore et si vous avez d'autres idées, je suis preneur

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/10/2006, 18h14
  2. Réponses: 4
    Dernier message: 11/09/2006, 16h55
  3. Réponses: 3
    Dernier message: 16/08/2006, 10h56
  4. Réponses: 28
    Dernier message: 09/06/2006, 14h05
  5. Recuperer les données d'un formulaire en PHP
    Par mekdar dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2005, 15h41

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