1.6k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von harvey17 Mitglied (235 Punkte)
Hi,
Ich möchte mit einer PHP Datei die Datei save.txt zeilnweise kopieren und zeilnweise in die datei save_neu.txt schreiben. Ich habe volgendes geschrieben, geht aber nicht. Die Datei bleibt leer. Die Ausgabe von "echo "".$save[1]."";" ist aber erfolgreich und ich sehe die erste Zeile aus der Datei save.txt.


<?php
$i = "1";
$userdatei = fopen ("save.txt","r");
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$save[$i]=$zeile;
$i++;
}
fclose($userdatei);

$i = "1";
$kopie = fopen ("save_neu.txt","a+");
while ($i<$a)
{
fwrite($kopie,$save[$i]);
$i++;
}
fclose($kopie);

echo "".$save[1]."";
?>


Findet ihr einen Fehler?

3 Antworten

0 Punkte
Beantwortet von harvey17 Mitglied (235 Punkte)
Ach so die variable $a ist auf 150 gesetz. So soll er immer 150 Zeilen schreiben
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Nun - wenn ich an den Anfang tatsächlich
$a= 150;
schreibe, dann funktioniert alles wie gewollt. Daher nehme ich an, dass die Variable bei dir gar nicht gesetzt ist.

Dürfte ich außerdem folgenderen sauberen Code empfehlen?
<?php

$iMaximaleZeilen= 150;
$iMaximaleZeichen= 500;
$hQuelle= fopen( 'save.txt', 'r' );
$hZiel= fopen( 'save_neu.txt', 'a+' );

while( !feof( $hQuelle ) ) fwrite( $hZiel, fgets( $hQuelle, $iMaximaleZeilen ) );

fclose( $hQuelle );
fclose( $hZiel );

?>
0 Punkte
Beantwortet von harvey17 Mitglied (235 Punkte)
ok danke werde ich mal ausprobieren
...