[RESOLU] fputcsv ajouter un caractère en fin de ligne

Eléphant du PHP | 351 Messages

09 juin 2021, 18:01

Bonjour à tous,

J'ai cette fonction

Code : Tout sélectionner

public function encode(array $data, string $reference) : string { try { $path = sprintf('%s/%s.flat', $this->projectDir, $reference); $fp = fopen($path, 'w'); foreach ($data as $row) { fputcsv($fp, $row, ';'); } return $path; } catch (Throwable $e) { throw new FileException(sprintf('Impossible to write file for path %s file %s line %s error %s', $path, $e->getFile(), $e->getLine(), $e->getMessage())); } }
Nickel pour le résultat d'une ligne sauf que j'aimerais que le séparateur ce positionne aussi sur le dernier mot ou élément du tableau

Code : Tout sélectionner

13;BY;;aaabA;;;;;;;;;;;[email protected]
Je voudrais

Code : Tout sélectionner

13;BY;;aaabA;;;;;;;;;;;[email protected];
Quel est le moyen le plus propre de faire ça d'après vous s'il vous plaît?

Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8880 Messages

09 juin 2021, 20:35

Tu ajoutes un item supplémentaire vide en dernière position de ton tableau $row dans ta boucle juste avant le fputcsv()
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 351 Messages

10 juin 2021, 09:08

Super merci simple et efficace :)