php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.12.2004, 10:32  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 311
kampfnickel
Standard Dateien lesen und schreiben

Hallo,
ich habe gestern versucht nach einem Tutorial einen Counter zu basteln in php. Dass ich eine Datei auf dem Server anlege, die von dem Programm dann geöffnet wird, was reingeschrieben wird und wieder geschlossen wird, also normaler Vorgang eben. Aber bei mir passiert da nichts. Wenn ich die Seite öfter aufrufe, erscheint da immer die gleiche Zahl. obwohl sie eigentlich immer um eins erhöht werden müsste.
oder muss da noch eine Bedingung eingebaut werden?

MfG
kampfnickel

P.S.:
Code:
<?
$datei = fopen("counter.txt","r+");
$counterstand = fgets("counter.txt","10");

if ($counterstand == "")
   {
   $counterstand = 0;
   }
$counterstand++;
echo $counterstand;
rewind($datei);
fwrite($datei, $counterstand);
fclose($datei);

?>
__________________
Rollt nen Ball und die Ecke und ist weg!
kampfnickel ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.12.2004, 10:41  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

probier es mal so:

Code:
<?
$datei = fopen("counter.txt","r+");
$counterstand = fgets($datei, 10);

if ($counterstand == "")
   {
   $counterstand = 0;
   }
$counterstand++;
echo $counterstand;
rewind($datei);
fwrite($datei, $counterstand);
fclose($datei);

?>
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 22.12.2004, 10:45  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

klein aber fein

Code:
<?php

    // the file, that should be modified
    $file = 'testfile.txt';
    $length = 20;
    
    // function getContent
    function getContent( $file, $length )
    {
        if ( !file_exists( $file ) )
            return false;
            
        if ( !is_readable( $file ) )
            return false;
            
        if ( !$handle = fopen( $file, "r") )
        {
            echo "Opening $file failed.";
            return false;
        }
        
        if ( !$content = fread( $handle, $length ) )
        {
            echo "Reading content of $file failed.";
            return false;
        }
        
        fclose( $handle );
        
        return $content;
    }
    
    // function setContent
    function setContent( $file, $code )
    {
        if ( !file_exists( $file ) )
            return false;

        if ( !is_writable( $file ) )
            return false;

        if ( !$handle = fopen( $file, "w") )
        {
            echo "Opening $file failed.";
            return false;
        }

        if ( !fwrite( $handle, stripslashes($code)) )
        {
            echo "Writing content to $file failed.";
            return false;
        }

        fclose( $handle );
    }
    
    # END OF FUNCTIONS ...

    $content = getContent( $file, $length );

    if( trim($content) == '' )
    {
        $content = 0;
    }
    
    echo 'Inhalt der Textdatei: ' . $content  . '
';
    
    setContent( $file, ++$content );
    
    echo 'reload';

?>
grüße ben
imported_Ben ist offline  
Alt 22.12.2004, 10:50  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 311
kampfnickel
Standard

oha

und das geht net rein zufällig auch mit nen bisschen weniger code?
__________________
Rollt nen Ball und die Ecke und ist weg!
kampfnickel ist offline  
Alt 22.12.2004, 10:54  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von kampfnickel
und das geht net rein zufällig auch mit nen bisschen weniger code?
natürlich. oben steht ne andere variante. ich MUSS dir auch nicht helfen. ich finde die beiden funktionen zum lernen echt klasse. da verwendest du nämlich ne menge funktionen aus dem pool der filesystem-funktionen.

dann nimm die 'billig'-variante von oben.
mir soll es egal sein
imported_Ben ist offline  
Alt 22.12.2004, 11:00  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 311
kampfnickel
Standard

ich meine nur, ich bin noch net so ganz fit in Sachen PHP und will die Sachen, die ich bis jetzt gemacht hab auch können und nicht gleich wieder einen Haufen neue Sachen dazu packen. Ist für mich so besser, aber deinen code hab ich auf jeden fall mal, also kann da auch drüber gucken, so ist das nicht :wink: (werde ich auch tun)
und mit der oberen Variante geht das auch nicht, da kommt der gleiche Effekt wie vorher, also da steht dann beim betreten der Seite nur eine "1" und die verändert sich auch nicht weiter, egal wie oft man die Seite besucht
__________________
Rollt nen Ball und die Ecke und ist weg!
kampfnickel ist offline  
Alt 22.12.2004, 11:03  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Hast du eine counter.txt im gleichen Ordner?

die variante geht... denn sie ist 1000 fach getestet....

EDIT:

http://www.pongau.net/test.php
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 22.12.2004, 11:03  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

dann schlage ich dir jetzt mal vor, dass du mal versucht meinen code zu verstehen .. der klappt nämlich wunderbar.
dann schreibst du das mal nach und dann hast du verstanden, wie man mit dateien umgeht.

ich habe das EINMAL geschrieben und das wars. ich verwende das immer wieder.
imported_Ben ist offline  
Alt 22.12.2004, 11:11  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 311
kampfnickel
Standard

repekt! ich werde mich mal dran setzen, danke!

@JEGO: ja, die Datei ist im selben Ordner vorhanden, wie die counter.php
und ich habe sie selbst angelegt, der name der Datei ist identisch wie der im php-code, also daran dürfte das auch nicht liegen.
wenn ich das so mache...
Code:
<?
$datei = fopen("counter.txt","r+");
$counterstand = fgets($datei, 10);

if ($counterstand == "")
   {
   $counterstand = 0;
   }
$counterstand++;
echo $counterstand;
rewind($datei);
fwrite($datei, $counterstand);
fclose($datei);

?>
... kommt da nur eine 1, egal wie oft man die Seite reloaded. ich kann es ja mal mit else versuchen bei der If-Funktion
__________________
Rollt nen Ball und die Ecke und ist weg!
kampfnickel ist offline  
Alt 22.12.2004, 11:16  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

mit else ????

hast du mal geschaut ob die .txt auch richtigen Rechte hat ?
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dateien mit PHP Hochladen h3ir PHP-Fortgeschrittene 9 29.05.2009 18:46
Alle Dateien mit "blub_" am Anfang löschen...? BartTheDevil89 PHP Tipps 2008 6 08.07.2008 09:08
PHP Dateien verschlüsseln GSJLink PHP-Fortgeschrittene 2 26.04.2008 12:29
[Logik] Mehrere Dateien als Anhang per Formular versenden PsychoEagle PHP Tipps 2008 2 27.08.2007 08:58
nur bestimmte Dateien aus einem Verzeichnis auslesen Madden PHP Tipps 2006 2 07.03.2006 17:10
Download von Dateien inu PHP Tipps 2006 1 12.01.2006 16:04
Verzeichnis (Dateien) schützen aber per PHP zugriff zulassen Server, Hosting und Workstations 2 16.10.2005 10:13
Dateien löschen (mit "unlink") PHP Tipps 2005-2 8 09.06.2005 22:55
[Erledigt] Nur bestimmte Dateien anzeigen, wie mache ich das HILFE PHP Tipps 2005 4 02.04.2005 22:38
dateien zugänglich machen PHP Tipps 2004 8 22.10.2004 14:25
Mit PHP erzeugte Dateien besitzen die falschen Rechte PHP Tipps 2004 3 14.09.2004 12:54
[Erledigt] PHP Dateien auf Server einsehen - Verschlüsseln PHP Tipps 2004 6 12.09.2004 10:17
[Erledigt] Dateien aus Verzeichnissen vom Webserver auslesen und linken PHP Tipps 2004 3 08.09.2004 10:07
fopen bei *.htm dateien?? PHP Tipps 2004 3 23.08.2004 19:50
[Erledigt] Dateien können nicht erzeugt werden PHP-Fortgeschrittene 10 03.06.2004 16:21

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
<?php $datei = fopen(\counter.txt\,\r \); $counterstand = fgets($datei, 10); if($counterstand == \\) { $counterstand = 0; } $counterstand ; echo $counterstand; rewind($datei); fwrite($datei, $counterstand); fclose($datei); ?> um 2 erhöhen, fgets php zufällig lesen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.