• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

$download++ usw? Hochzählen

Status
Für weitere Antworten geschlossen.

snake.logan

Neues Mitglied
Hallo,
ich möchte für ein kleines system einen zähler einbauen.

Er soll die Datei data.txt öffnen, und dann soll er immer zwei werte reinschreiben: datei und wie oft wurde es angeklickt/heruntergeladen.

Das sieht dann so aus:
test.zip|0

wenn man die datei download.php aufruft öffnet er sie:
PHP:
<?php
$fp = fopen("data.txt");
.
.
.
?>

Danke im voraus!
 
am besten speicherst du so:

DATEN DATEI.TXT
=============
file.dat|0 ?
bild.psd|2 ?
readme.nfo ?
wasauchimmer.xxx ?
=============

Dann liesst du den gesammten inalt ein,
explodest ihn einmal mit '?'
jetzt hast du ein array mit allen dateien, die datensätze explodest du dann noch mit '|' (foreach)

jetzt hast du in dem array noch arrays mit 0=>name, 1=>zugriffe

dann einfach den wert inkrementieren, alles wieder imploden (in umgekehrter reihenfolge natürlich) und den gesammten inhalt tauschen.

geht bestimmt schneller aber so würds hinhauen, dazu:

explode(); => http://www.php.net/manual/de/function.explode.php
implode(); => http://www.php.net/manual/de/function.implode.php
 
PHP:
<?php
$download_datei = "";
  $data = fopen("data.txt","r+");
  $inhalt = fgets($data, 1000000);
  $zeilen = explode("\n",$inhalt);
  foreach($zeilen as $stand)
   {
     $exp = explode("|",$stand);
     if($exp['0'] == $download_datei)
      {
        $exp['1']++;
        //hier dan den teil zum schreiben
      }
   }
  fclose($data);
?>

So *allen in den Rücken Fall*
Es wird zwar eh nicht klappen, weil du noch den Teil zum schreiben erghänzen musst...aber ich empfehle eh, das ganze in MySQL zu schreiben.

gruß
Bastian
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben