Page 1 sur 1

Comment faire un retour à la ligne après écriture de chaque objet dans un fichier json?

Posté : 25 juil. 2019, 10:01
par muerta
Bonjour je suis nouveau j'ai besoin de votre aide s'il vous plait j'écrit les objets dans un fichier json mais il y'a pas de retour a la ligne après écriture de chaque objet. Merci de me donner une astuce pour faire des retour à la ligne.

NB: dans le fichier json tous objets sont écrit sur une même ligne.

voici mon code :
 $object = (object) [
                'client' => $Client = (object) [
                'logo' => $request->input('logo'),
                'region' => $request->input('name')
            ],
                'activite' =>   $activite = (object) [
               
                'service' => $request->input('service'),
                'mission' => $request->input('mission'),
                'siege' => $request->input('siege')
                
            ]

 $contenu_json =json_encode($object);

          // Nom du fichier à créer
          $gds_fichier = substr($request->input('nom'),-1).'-client'.'.json';
        
          
          // Ouverture du fichier
          $fichier1 = fopen($client_fichier, 'w+');
        
          
          // Ecriture dans le fichier
          fwrite($fichier1, $contenu_json);
      
          
          // Fermeture du fichier
          fclose($fichier1);
        

             

Re: Comment faire un retour à la ligne après écriture de chaque objet dans un fichier json?

Posté : 25 juil. 2019, 16:36
par @rthur
Bonjour et bienvenue sur PHPfrance,

Pour faire un retour à la ligne, il faut que tu concatène ton contenu avec le caractère spécial \r entre guillemets doubles, en gros :
$ligne de contenu."\n"

Par ailleurs, il existe une fonction en PHP + simple et plus efficace que fopen/fwrite/fclose, c'est file_put_contents() qui te fait les 3 en un seul appel :
http://php.net/file_put_contents

Re: Comment faire un retour à la ligne après écriture de chaque objet dans un fichier json?

Posté : 25 juil. 2019, 16:44
par muerta
Bonjour , merci pour votre réponse mais je ne comprend pas quand vous parler de ligne de contenu.
ou exactement ?

Re: Comment faire un retour à la ligne après écriture de chaque objet dans un fichier json?

Posté : 25 juil. 2019, 16:52
par muerta
Bonjour et bienvenue sur PHPfrance,

Pour faire un retour à la ligne, il faut que tu concatène ton contenu avec le caractère spécial \r entre guillemets doubles, en gros :
$ligne de contenu."\n"

Par ailleurs, il existe une fonction en PHP + simple et plus efficace que fopen/fwrite/fclose, c'est file_put_contents() qui te fait les 3 en un seul appel :
http://php.net/file_put_contents

pouvez vous me donner un exemple s'il vous plait a partir de mon code ou je dois placer exactement le caractère spécial pour le retour à la ligne ?

Re: Comment faire un retour à la ligne après écriture de chaque objet dans un fichier json?

Posté : 25 juil. 2019, 17:01
par @rthur
Non, je ne vais pas le faire à ta place.
Je te donne une piste ensuite c'est à toi d'essayer de le faire, c'est la meilleure façon d'apprendre ! :-D