PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme bei Datei Erstellung unter PHP


Alex31
2005-04-20, 18:30:19
Hi,
beim ersten ausführen von diesem PHP Code kommt der Fehler das die Datei nicht vorhanden ist. Kann ich das verhindern?

Der Code ist für einen Counter der für jeden Tag eine neue Datei aufmacht. Das Problem ist das beim ersten starten der Seite ein Fehler erscheint, das die Datei nicht vorhanden ist. Besteht eine Möglichkeit dies zu beseitigen?

<?
$datum = date("dmY");
$count_file="$datum.txt";
$b = fopen("$count_file","r");
$start=1;
if($b=="")
{
$file = fopen("$datum.txt","w");
fputs($file,$start);
fclose($file);
}
else
{
$a = fopen($count_file,"r+");
$count= fread($a,filesize($count_file));
fclose($a);
$count++;
$a = fopen($count_file,"w");
fputs ($a,$count);
echo $count;
}
?>

Danke.

:wink:

Nase
2005-04-20, 18:50:44
Einfach das "w" durch "w+" beim fopen ersetzen.

Alex31
2005-04-21, 15:18:15
*hhhhmmm* Irgendwie klapt das mit dem w+ net so ganz

Queltext:

<?
$datum = date("dmY");
$count_file="$datum.txt";
$b = fopen("$count_file","r");
$start=1;
if($b=="")
{
$file = fopen("$datum.txt","w+");
fputs($file,$start);
fclose($file);
}
else
{
$a = fopen($count_file,"r+");
$count= fread($a,filesize($count_file));
fclose($a);
$count++;
$a = fopen($count_file,"w+");
fputs ($a,$count);
echo $count;
}
?>

Fehlermeldung:

Warning: fopen(21042005.txt): failed to open stream: No such file or directory in C:\test\test.php on line 12

Ist zwar net so schlim, aber sieht halt net so ganz dolle aus.

:wink:

clm[k1]
2005-04-21, 15:48:43
*hhhhmmm* Irgendwie klapt das mit dem w+ net so ganz

Queltext:

<?
$datum = date("dmY");
$count_file="$datum.txt";
$b = fopen("$count_file","r");
$start=1;
if($b=="")
{
$file = fopen("$datum.txt","w+");
fputs($file,$start);
fclose($file);
}
else
{
$a = fopen($count_file,"r+");
$count= fread($a,filesize($count_file));
fclose($a);
$count++;
$a = fopen($count_file,"w+");
fputs ($a,$count);
echo $count;
}
?>

Fehlermeldung:

Warning: fopen(21042005.txt): failed to open stream: No such file or directory in C:\test\test.php on line 12

Ist zwar net so schlim, aber sieht halt net so ganz dolle aus.

:wink:


Wie wäre es wenn du mit file_exists() prüfst ob die datei existiert?
Dann kannst du entscheiden ob du die datei mit 'r' oder 'w' öffnest.

Die fehlermeldung rührt übrigens von dem ersten fopen her, wo noch ein 'r' drinne steht... (damit willst du wahrscheinlich gucken obs die datei schon gibt)


clm[k1]