Beste experts :)

Ik zit met een probleem.
Ik moet een CSV bestand creeeren dat via mail als attchment moet worden verzonden.
De eisen van het bestand zijn dat de 'line endings' (EOL), LF en CR moet zijn (dus windows based).
Helaas is onze server unix en fputcvs geeft me dus alleen LF als EOL.
Het handmatig neerzetten van \n\r geeft ook niet juiste resultaat en is dus ook geen optie.

Het moet een geautomatiseerd proces worden dus het openen en sluiten handmatig is geen optie.

PHP_EOL geeft me ook alleen LF en geen CR.

Wie heeft er een oplossing?
Maakt het nog uit als je \r en \n omdraait? Dus: \r\n.

Als dat werkt kun je natuurlijk zelf altijd een constante met die waarde aanmaken en die vervolgens gebruiken:

<?php
define('CRLF', "\r\n");
?>

ps. Let op de dubbele quotes rond \r\n.
Fantastisch dat werkt! Waarom ben ik daar niet zelf op gekomen?

Hardstikke bedankt!
PHP_EOL heeft de systeemafhankelijke new line karakter(s) in zich. Op bijna elk OS is dat anders. Gebruik je de data binnen hetzelfde OS (dus bijvoorbeeld in een scriptje gewoon), dan kan je PHP_EOL gebruiken. Anders zul je nog altijd zelf voor een new line moeten zorgen.
Let ook op de richtlijnen, soms wordt er een andere volgorde verwacht dan er in PHP_EOL zit.

Reageren