Ik heb 4 .txt bestanden die geopent worden via 'file_get_contents'.
vervolgens 'echo' ik die op de webpage, dat gaat goed.
4 namen komen naast elkaar te staan.

<?php echo $write; ?> 
// Koos Jeroen Henk Klaas


vervolgens schrijf ik de $write naar een .php bestand.

<?php
$file = "HalveFinale.php";
$write = "$Kandidaat1 $Kandidaat2 $Kandidaat3 $Kandidaat4";

file_put_contents($file , $write , FILE_APPEND) or die ('ER IS IETS VERKEERD GEGAAN!');
?>


Wat er nu gebeurt is dat de 4 namen in het .php bestand onder elkaar geschreven worden.
Zoals hier:

Koos
 Jeroen
 Henk
 Klaas


Mijn doel is om ze naast elkaar te schrijven, maar ik zou niet weten hoe.
Zoals hier:

Koos Jeroen Henk Klaas

code:

<?php
$text = file_get_contents('Kandidaten/flatFile9.txt');
$textArray = explode("\n", $text);
$randArrayIndexNum = array_rand($textArray);
$Kandidaat1 = $textArray[$randArrayIndexNum];


$text = file_get_contents('Kandidaten/flatFile10.txt');
$textArray = explode("\n", $text);
$randArrayIndexNum = array_rand($textArray);
$Kandidaat2 = $textArray[$randArrayIndexNum];


$text = file_get_contents('Kandidaten/flatFile11.txt');
$textArray = explode("\n", $text);
$randArrayIndexNum = array_rand($textArray);
$Kandidaat3 = $textArray[$randArrayIndexNum];


$text = file_get_contents('Kandidaten/flatFile12.txt');
$textArray = explode("\n", $text);
$randArrayIndexNum = array_rand($textArray);
$Kandidaat4 = $textArray[$randArrayIndexNum];


$file = "HalveFinale.php";
$write = "$Kandidaat1 $Kandidaat2 $Kandidaat3 $Kandidaat4";

file_put_contents($file , $write , FILE_APPEND) or die ('ER IS IETS VERKEERD GEGAAN!');
?>


<?php echo $write; ?>
Is dit op Windows of op een Unix variant? Op Windows moet je ook van de \r af komen, het makkelijkst is om hiervoor trim te gebruiken.
@Ben van velzen, Op een windows variant. Ik gebruikt /r niet om te schrijven naar het .php bestand.
de output van file_put_contents wordt onder elkaar geschreven, maar mijn doel is om ze naast elkaar te krijgen.
Is er dan een verschil is file_put_contents als het erop aankomt welke variant je gebruikt?
Yup, dat verschil is er. Maar test het voor de grap eerst eens uit.
Zo iets?

<?php

$text = file_get_contents('flatFile1.txt');
$string = str_replace(array("\r\n", "\r", "\n"), " ", $text); 

$text = file_get_contents('flatFile2.txt');
$string .= str_replace(array("\r\n", "\r", "\n"), " ", $text); 

$text = file_get_contents('flatFile3.txt');
$string .= str_replace(array("\r\n", "\r", "\n"), " ", $text); 

echo $string;

?>


Een mits.

In dit voorbeeld zullen twee namen aan elkaar staan als het eerste tekstbestand slechts EEN regel ZONDER regelomhaal heeft.

Voor het beste resultaat dient aan het eind van het tekstbestand een lege regel te staan.

Inspiratie deed ik hier op :

http://php.net/manual/en/function.nl2br.php

Btw. Dat de namen naast elkaar staan in de browser komt omdat een browser regelomhalen negeert. In de broncode staan ze onder elkaar.
Volgens mij heb ik je al de hint gegeven dat je gewoon trim() kan gebruiken? Zou het sowieso een heel stuk eenvoudiger maken.
Bij deze heb ik door @Ben van Velzen en @Adoptive Solution het opgelost!
heb \n verandert door \r\n.
"\r\n", "\r", "\n"), " " schreef alles wat er in de .txt bestanden zaten.

Erg bedankt!
Maar dit betekent ook dat de bronnen waar je uit leest regelovergangen bevatten? Zou je die namen niet beter op een andere manier kunnen scheiden? Bijvoorbeeld via tab of een "pipe" (verticaal streepje)? Dan heb je dit regelovergangprobleem om te beginnen niet :).

Reageren