file_put_contents schrijft niet naast elkaar.
vervolgens 'echo' ik die op de webpage, dat gaat goed.
4 namen komen naast elkaar te staan.
vervolgens schrijf ik de $write naar een .php bestand.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$file = "HalveFinale.php";
$write = "$Kandidaat1 $Kandidaat2 $Kandidaat3 $Kandidaat4";
file_put_contents($file , $write , FILE_APPEND) or die ('ER IS IETS VERKEERD GEGAAN!');
?>
$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:
Mijn doel is om ze naast elkaar te schrijven, maar ik zou niet weten hoe.
Zoals hier:
code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?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; ?>
$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; ?>
Gewijzigd op 16/10/2017 16:34:29 door Lorenzho Dealorde
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.
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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;
?>
$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.
Gewijzigd op 16/10/2017 17:13:11 door Adoptive Solution
Volgens mij heb ik je al de hint gegeven dat je gewoon trim() kan gebruiken? Zou het sowieso een heel stuk eenvoudiger maken.
heb \n verandert door \r\n.
"\r\n", "\r", "\n"), " " schreef alles wat er in de .txt bestanden zaten.
Erg bedankt!
Gewijzigd op 16/10/2017 19:34:24 door Lorenzho Dealorde
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 :).