Solution ex7

Voici comment écrire le code de la fonction getJsonArray() pour qu’elle lise le fichier dont le chemin d’accès est contenu dans $filepath et génère un tableau où chaque élément correspond à une ligne du fichier, encode ce tableau au format JSON et renvoie sa valeur dans la variable $jsontext, en complétant le code donné :

$path = "myfiles/wrapped.txt";

function getJsonArray($filepath) {
  $jsontext = "";

  // Ouvre le fichier en lecture
  $file = fopen($filepath, "r");

  // Crée un tableau vide
  $lines = array();

  // Parcours le fichier ligne par ligne
  while (($line = fgets($file)) !== false) {
    // Ajoute chaque ligne au tableau $lines
    $lines[] = $line;
  }

  // Ferme le fichier
  fclose($file);

  // Encode le tableau $lines au format JSON
  $jsontext = json_encode($lines);

  return $jsontext;
}

$jsontext = getJsonArray($path);
print "<pre>\n";
print_r(json_decode($jsontext));
print "</pre>\n";

La fonction fopen() ouvre le fichier en mode "r" (lecture seule). La boucle while parcourt le fichier ligne par ligne à l’aide de la fonction fgets() et ajoute chaque ligne au tableau $lines. Enfin, la fonction fclose() ferme le fichier.

La fonction json_encode() encode le tableau $lines au format JSON et renvoie le résultat sous forme de chaîne de caractères.

La fonction json_decode() décode la chaîne de caractères JSON et renvoie un tableau PHP. Le préfixe print_r() et la balise <pre> sont utilisés pour afficher le tableau de manière lisible.

Be the first to comment

Leave a Reply

Your email address will not be published.




Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.