|
| Hvad søren sker der her???? Fra : Ladmorillo | Vist : 498 gange 40 point Dato : 05-08-02 22:30 |
|
Hej
Jeg sidder lige med lidt simpel php kode som kopierer indholdet i en tekstfil over i en anden tekstfil. Men resultatet bliver ikke helt som forventet.
Jeg har filen fil1.txt med indhold:
------ fil1.txt -----
0
1
2
3
4
5
6
7
8
9
---------------
og nedenstående smule kode:
<html>
<?php
$fil1 = file('fil1.txt');
$fil2 = fopen('fil2.txt', "w");
foreach($fil1 as $val) fputs($fil2,$val);
?>
</html>
giver det forventede resultat, en fil med indhold præcis som fil1.txt.
Men ændrer jeg koden med en enkelt linie så den ser således ud:
<html>
<?php
$fil1 = file('fil1.txt');
$fil2 = fopen('fil2.txt', "w");
$fil1[3] = "88"; <------------------------- her
foreach($fil1 as $val) fputs($fil2,$val);
?>
</html>
Som efter min mening skulle resulterer i fil2.txt som vill se sådan her ud:
------ fil2.txt (forventet) -----
0
1
2
88
4
5
6
7
8
9
---------------
Men som rent faktisk giver:
------ fil2.txt -----
0
1
2
884
5
6
7
8
9
-------------------
Hvorfor bliver 4-tallet rykket op???? Det sker kun når jeg ændrer i det originale array. Jeg ændrer en enkelt af de ti indgange i arrayet og skriver dem enkeltvis ud i den nye fil med fputs, som skriver en linie af gangen??
Er det mig der har misforstået et eller andet???
Ladmorillo
| |
| Accepteret svar Fra : kaasgaard | Modtaget 40 point Dato : 06-08-02 10:48 |
|
hmm... meget mystisk
Hvis man echoer array'et fil[] ud på skærmen inden det bliver skrevet til fil2.txt er alt som det skal være.
Jeg "leger" lidt og vender tilbage.
// Martin
| |
| Godkendelse af svar Fra : Ladmorillo |
Dato : 06-08-02 13:03 |
|
Ahh very nice... thanks bud.
Ladmorillo
| |
|
On Wed, 07 Aug 2002 07:39:15 GMT, "Ladmorillo"
<Ladmorillo.news@kandu.dk> wrote:
> Hvorfor bliver 4-tallet rykket op????
file() indlæser en hel fil inkl. linieskift efter hver linie, så prøv
at ændre linien med $fil1[3] til
$fil1[3] = "88\n";
- Thomas
| |
|
Ladmorillo wrote:
> $fil1[3] = "88"; <------------------------- her
$fil1[3] = "88\n"; //*nix
eller
$fil1[3] = "88\r\n"; //win
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|