Einfaches PHP guestbook
grOOvekill@ 13.01.2003 - 21:03 888 8
grOOvekill@
LegendVienna Badass
|
Nabend!
Hab ein kleines Problem und komm nicht auf die Lösung: Hier mein Skript für ein kleines guestbook in PHP:
<?php // Dateizuweisung $file = "counter.txt";
// Datei öffnen $ftp = @fopen($file,"r+");
// Die ersten 10 Zeichen holen $count = (int)fgets($ftp,10);
// Eine 1 addieren $count++;
// Zeiger auf 0. Position setzen rewind($ftp);
// Schreibt fwrite($ftp,$count);
// Datei schließen fclose($ftp);
// Das File zeigt sich selbst an include($file); ?>
Ich bekomm jedoch die ganze Zeit folgende Fehlermeldung:
Warning: Supplied resource is not a valid File-Handle resource in /home/sites/site234/web/oben.php on line 16
Line 16 ist die, wo ich den Zeiger mittels rewind auf 0 setze (rewind($ftp); ). Dieses Skript ist auf einer anderen Site schon mal problemlos gelaufen. Warum nicht jetzt?
Irgendwelche Ideen?
|
Vivo
Dreamworker
|
$ftp = @fopen($file,"r+"); Dieses @ scheint mir auf den ersten Blick überflüssig zu sein ... //Ups ... das am Ende nicht gelesen ... Das @ scheint mir trotzdem überflüssig zu sein
Bearbeitet von Vivo am 13.01.2003, 21:14
|
grOOvekill@
LegendVienna Badass
|
Dieses @ scheint mir auf den ersten Blick überflüssig zu sein ...
//Ups ... das am Ende nicht gelesen ... Das @ scheint mir trotzdem überflüssig zu sein Nee, daran liegt's nicht. Irgendwas schmeckt ihm wahrscheinlich von den File-Berechtigungen her nicht. Aber was? Vielleicht liegts auch daran, daß die zwei Files in zwei unterschiedlichen Ordnern liegen. Ich schmeiß mal beide in einen Ordner und versuch's nochmal.
|
Vivo
Dreamworker
|
Vielleicht liegts auch daran, daß die zwei Files in zwei unterschiedlichen Ordnern liegen. Ich schmeiß mal beide in einen Ordner und versuch's nochmal. Wenn die Files in unterschiedlichen Ordnern liegen solltest du ihm evtl. noch den Paht mitgeben ...
|
Philipp
Here to stay
|
Nabend!
Hab ein kleines Problem und komm nicht auf die Lösung: Hier mein Skript für ein kleines guestbook in PHP: Das ist aber ein Counter und kein Gästebuch
|
watchout
Legendundead
|
Das ist aber ein Counter und kein Gästebuch hehe, wollt ich auch grad sagen zum thema: wenn du das "@" wegnehmen würdest, bringt das zwar im moment noch wenig, aber später, wenn mal ein script komplizierteres filehandling hat, kanns ganz schön nerven keine fehlermeldungen zu bekommen wie dem auch sei, du hast deswegen eine fehlermeldung wie "file not found" oder ähnliches verpasst
|
DAO
Si vis pacem, para bellum
|
$file = fopen("count_main.dat","r+"); $count_main = fgets($file,5); if (! $count_main) $count_main=0; rewind($file); $count++; fwrite ($file, $count_main); fclose ($file); echo $count_main;
?>
edit : denk mal der source muest hin haun fuers mainfile , war der einzige den ich noch gfunden hab am webspace die andren sind in den tiefen der direktories versumpert bzw auf div hdds
Bearbeitet von DAO am 14.01.2003, 08:27
|
grOOvekill@
LegendVienna Badass
|
|
Philipp
Here to stay
|
Gut . Hier eine leicht nachbearbeitete Variante des Counters: <?php
// Dateizuweisung
$file = "counter.txt";
// Datei öffnen
$ftp = @fopen($file,"r+") or die("Kann Datei $file nicht öffnen");
// Die ersten 10 Zeichen holen
$count = fgets($ftp,10);
// Eine 1 addieren
$count++;
// Zeiger auf 0. Position setzen
rewind($ftp);
// Schreibt in Datei
if (flock($ftp, 2)) fwrite($ftp,$count);
// FLock aufheben
flock($ftp, 3);
// Datei schließen
fclose($ftp);
// Zeigt counter an
echo $count;
?>
$ftp = @fopen($file,"r+") or die("Kann Datei $file nicht öffnen"); Wenn fopen die Datei nicht öffnen kann bricht das Script mit einer Fehlermeldung ab. if (flock($ftp, 2)) fwrite($ftp,$count); Schützt die Datei mittels File Locking vor gleichzeitigen zugriffen. Wird unten mit flock($ftp, 3); wieder aufgehoben. echo $count; Zeigt die Variable $count an. Das ganze mit include() zu inkludieren ist ein unnötiger Lesezugriff
|