Geen line breaks in txt bestand.

Status
Niet open voor verdere reacties.

phobia

Terugkerende gebruiker
Lid geworden
4 sep 2006
Berichten
1.777
Ik zit met het volgende "probleem"

Via php laat ik een txt bestand samenstellen, geen probleem.
de bedoeling is om line breaks in te voeren, zodat als het bestand in bv.notepad++ word geopend.
Er netjes en leesbaar uitziet.
Maar nix, het text bestand is een lange regel en daarin is ook netje de \r\n opgenomen.
Dit is de code die ik er voor gebruik:
PHP:
//maak nieuw file data 
$Handle = fopen('../files/data/files_test.txt', 'w');
foreach($fileArray as $sLine){
	
	if(isset($file[$sLine])){
		$newFile = $file[$sLine][0].'_,/'.$file[$sLine][1].'\r\n';
		fwrite($Handle, $newFile);
		$newFile = '';
	}else {
		$newFile = $sLine.'_,/Geen Data Beschikbaar\r\n';
		fwrite($Handle, $newFile);
		$newFile = '';
	}
}

en als ik nou de volgende simpele code gebruik:
PHP:
$myFile = "../files/data/testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Bobby Bopper\r\n";
fwrite($fh, $stringData);
$stringData = "Tracy Tanner\r\n";
fwrite($fh, $stringData);
fclose($fh);
Dan word het tekst bestand wel netjes aangemaakt!
WAAR ga ik de fout in? WAT doe ik WAAROM fout!
 
Break-lines werken enkel met dubbele quotes.

De exacte reden heb ik nooit opgezocht.

Dus je regel 6 hoort er zo uit de zien:
PHP:
$newFile = $file[$sLine][0].'_,/'.$file[$sLine][1]."\r\n";
en regel 10 natuurlijk ook
PHP:
$newFile = $sLine.'_,/Geen Data Beschikbaar'. "\r\n";
 
Laatst bewerkt:
De reden is dat dubbele quotes geparset worden en enkele quotes niet, \r en \n zijn speciale tekens die nog geparset moeten worden, want anders worden ze er gewoon letterlijk ingezet.
 
De reden is dat dubbele quotes geparset worden en enkele quotes niet, \r en \n zijn speciale tekens die nog geparset moeten worden, want anders worden ze er gewoon letterlijk ingezet.

volledig juist maar ik dacht dat \r niet gebruikt werd dat op windows com ook met \n ook de linebreak werd gezet een suplementje van php
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan