|  | 		    
					
    
        
            
                
                | |  | Hvad søren sker der her???? Fra :
  Ladmorillo | Vist : 727 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.
 |  |  | 
 |  |