Bonjour à tous,

Je coince. Je coince sérieusement, même. Je suis un codeur débutant, et je me suis sorti de tous les écueils rencontrés jusque là, mais maintenant, j'ai besoin de vous !

J'ai développé un petit script php qui me permet de parser le graph de facebook et d'obtenir du JSON.

Ce que fait le fichier fonctions.php :
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
<?
function likes($page) {
 
  $pageData = @file_get_contents('https://graph.facebook.com/'.$page);
  $pageData = json_decode($pageData);
    $likes = "$pageData->likes";
    return $likes;
};
 
function name($page) {
 
  $pageData = @file_get_contents('https://graph.facebook.com/'.$page);
  $pageData = json_decode($pageData);
      $name = "$pageData->name";
      return $name;
};
 
?>
Un autre script appelle fonctions.php, il permet de me sortir un JSON dans une variable c'est le script update.php

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
<?
 
  function update($page) {
 
    include ('fonctions.php');
 
    $date=date(dmY);
 
    // vérifie la présence, par l'affichage des variables retournées par les scripts
 
    $likes_up = likes($page);
    $name_up =  name($page);
    $talking_about_count_up = talking($page);
    $source_up = photo($page);
 
    // echo $likes_up;
    // echo $name_up;
    // echo $talking_about_count_up;
    // echo $source_up;
 
    $data["$date"]["$name_up"][likes] = $likes_up;
    $data["$date"]["$name_up"][talking] = $talking_about_count_up;
 
    $datajson = json_encode($data);
 
    $str     = str_replace('\u','u',$datajson);
    $datajson = preg_replace('/u([\da-fA-F]{4})/', '&#x\1;', $str);
 
  }
 
?>
Un autre script appelle update.php : datasave.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<?
$Cocacola= 'cocacola';
$Pepsi= 'pepsi';
$Orangina= 'orangina';
$listeupdate = array("$Cocacola",  "$Pepsi",  "$Orangina");
include ('datasave.php');
foreach ($listeupdate as $page) {update($page);
file_put_contents ("./data/data.json", $datajson, FILE_APPEND);};
?>
Dans ce dernier, je stocke les identifiants des fanpages que je souhaite appeler les unes après les autres pour leur appliquer la fonction update. En sortie, j'aimerais bien obtenir quelque chose comme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
{"20012015":{"nom_de_la_fanpage1":{"likes":"5059","talking":"8"}}}
{"20012015":{"nom_de_la_fanpage2":{"likes":"456","talking":"1"}}}
{"20012015":{"nom_de_la_fanpage3":{"likes":"234","talking":"2"}}}
...

N fois.

Ensuite, avec un put_file_content, je les sotcke en JSON dans un fichier localement.

Problème :

En sortie, quand j'appelle la fonction JSON j'obtiens seulement, une ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
{"20012015":{"Coca-Cola":{"likes":"92975287","talking":"1862156"}}}
Je n'arrive pas à résoudre ce problème, j'ai essayé array_walk array_map etc. Mais rien n'y fait...

Je sais que mon code n'est pas parfait etc. Je suis preneur de toutes remarques constructives !

Auriez-vous une solution svp ?

Un grand merci par avance !

Choncha