|
|||
PHP - fopen und fwrite Problem
Hallo alle zusammen!
Ich bin schon fast am verzweifeln. )= Ich schildere erstmal meinen "Plan": Ich bin daran ein Script zu basteln, das per Eingabe ich ein Textfeld eine neue Datei erstellt und diese mit einer Zahl beschreibt. Jedesmal wenn im Textfeld der Name einer vorhandenen eingegeben wird soll diese jedoch, statt überschrieben zu werden "um 1 erhöht werden". PHP-Code:
So was nun passiert: Man gibt im Formular einen Dateinamen ein. Diese wird erstellt und mit 1 beschrieben. Soweit so gut. Wenn man jedoch den Namen erneut eingibt wird der Inhalt wieder auf 1 zurückgesetzt. Ich hoffe ich hab mich einigermaßen verständlich ausgedrückt.... LG littlepsycho (; |
Sponsored Links |
|
||||
Spar dir den Aufwand mit den Handlern und nutze lieber PHP: file_put_contents - Manual, bzw. file_get_contents()
PHP-Code:
Was passiert eigentlich, wenn ich exploit.php als Dateinamen, wird die dann auch angelegt? |
Sponsored Links |
|
|||
Der Modus bei fopen() ist für den Zweck nicht der richtige. Das sagt die PHP-Doku:
Zitat:
Für was benötigst du eigentlich $points_c UND $points? Nach meinem Verständnis würde eine Variable reichen. Du liest die Datei ein. Wenn etwas drin steht nimmst du die Zahl als Ausgangswert, falls nicht nimmst du 0. Übrigens ist es sehr unsicher Werte die vom User kommen ungefiltert in einem fopen() zu verwenden. Mit entsprechenden Werten könnte man auch andere Dateien überschreiben und somit für einiges Chaos sorgen. Deinen Skript-Aufbau könnte man sicherlich auch noch verbessern. Ich würde z.B. eher erst mit is_file() prüfen ob die Datei bereits existiert. Falls ja würde ich sie mit file_get_contents() einlesen und die darin enthaltene Zahl erhöhen. Falls nicht würde ich einfach mit "1" starten. Das Ergebnis kannst du dann mit file_put_contents() wieder abspeichern. Das sind dann keine 10 Zeilen und es liest sich viel besser. Gruß, Max |
|
|||
Beides ausprobiert
Vielleicht(fast es auch zu 100% sicher ist) stelle ich mich einfach nur saudumm an, aber ich habe nun mal beide Varianten durchprobiert.
1. - fopen mir r+ und einer variablen: PHP-Code:
Code:
Warning: fopen(Testeintrag.dat) [function.fopen]: failed to open stream: No such file or directory in [...]/read.php on line 6 Warning: fgets() expects parameter 1 to be resource, boolean given in [...]/read.php on line 7 Warning: rewind() expects parameter 1 to be resource, boolean given in [...]/read.php on line 13 Warning: fwrite() expects parameter 1 to be resource, boolean given in [...]/read.php on line 14 Warning: fclose() expects parameter 1 to be resource, boolean given in [...]/read.php on line 15 Testeintrag - 2 PHP-Code:
Warum fallen mir solche Sachen erst auf wenn ich den Post schreibe.... |
|
||||
Zitat:
Wozu das fopen? Du nimmst den Inhalt (der nicht mal zwingenderweise eine Zahl ist), zählst ihn hoch und machst die Datei wieder zu - ohne zu speichern. PHP-Code:
Denn wenn man bei deinem Script als "player" nämlich "../../irgendwas" eingibt landet man schnell in einem anderen Verzeichnis, und das willst du nicht.
__________________
:) |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
HTML mit PHP Code aus Datenbank auslesen + ausführen | Garlandt | Serveradministration und serverseitige Scripte | 14 | 01.05.2011 13:45 |
PHP Ansicht Problem | |SONY| | Serveradministration und serverseitige Scripte | 10 | 15.07.2009 23:05 |
Praxisnah PHP lernen | p0mmeluff | Serveradministration und serverseitige Scripte | 5 | 24.03.2009 22:18 |
PHP Upload Problem | tichy | Serveradministration und serverseitige Scripte | 2 | 29.10.2008 00:56 |
Problem: IE versteckt Text & Feedback | Herbi | CSS | 2 | 11.08.2006 15:39 |