kostenloser Webspace werbefrei: lima-city


php download counter fehler

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s*******e

    also hab mir nen counter runtergeladen und eingebaut, aba jetzt ?ndert sich nicht die anzah? der downloads wenn ich eine datei runterlade.
    hier den quelltext der seite:
    <?PHP
    header("Expires: Mon, 10 Jan 1970 01:01:01 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Pragma: no-cache");
    ?>
    <?
    function auslesen($id)
    {
    $idvalue=FALSE;
    $datei ="/counter/data/counter.txt";
    if (file_exists($datei))
    {
    $file=file($datei);
    $datei = fopen($datei, "r");
    foreach ($file as $line)
    {
    $exp_line = explode("|", $line);
    if ($exp_line[0] == $id)
    {
    $idvalue=TRUE;
    $counter=$exp_line[1];
    $date=$exp_line[2];
    $time=$exp_line[3];
    fclose($datei);
    echo "$counter download(s) - Letzter Download: $date - $time Uhr";
    }
    }
    if ($idvalue==FALSE)
    {
    echo "Noch keine Downloads";
    }
    }
    else
    {
    echo "Noch keine Downloads";
    }
    }


    ?>
    <html>
    <head>
    <title>Die offizielle Sneer Fire Website</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!--
    body {
    background-image: url(images/unten_23.gif);
    }
    .Stil1 {
    font-size: 36px;
    font-weight: bold;
    color: #FF0000;
    }
    .Stil2 {font-size: 18px; font-weight: bold; color: #000000; }
    .Stil3 {color: #000000; font-size: 18px;}
    .Stil4 {
    font-size: 36px;
    font-weight: bold;
    }
    .Stil5 {font-size: 24px}
    -->
    </style></head>
    <h1 align="center" class="Stil1">Sneer Fire Download!!!</h1>
    <p align="center" class="Stil2">&nbsp;</p>
    <p align="center" class="Stil3">Hier k&ouml;nnt ihr euch die <em><strong>BETA-Version</strong></em> von Sneer Fire runterladen!</p>
    <p align="center" class="Stil3">Ihr braucht aber auch das RTP des RPG-Maker XP.</p>
    <table width="607" border="1" align="center">
    <tr>
    <td width="262" height="63" class="Stil3"><div align="center" class="Stil4">Dateiname:</div></td>
    <td width="152"><span class="Stil4">Downloads:</span></td>
    <td width="127">&nbsp;</td>
    </tr>
    <tr>
    <td height="65"><span class="Stil3">RPG-Maker XP RTP(ca.19,16MB)</span></td>
    <td><div align="center"><? auslesen("id=dl1");?></div></td>
    <td><div align="center"><a href="http://sneerfire.lima-city.de/counter/count.php?id=dl1" class="Stil5">Download</a></div></td>
    </tr>
    <tr>
    <td height="65"><span class="Stil3">Sneer Fire(ca.2,32MB)</span></td>
    <td><div align="center"><? auslesen("id=dl2");?></div></td>
    <td><div align="center"><a href="http://sneerfire.lima-city.de/counter/count.php?id=dl2" class="Stil5">Download</a></div></td>
    </tr>
    </table>
    <p align="center" class="Stil3">&nbsp;</p>
    </body>
    </html>


    //edit: also die site is http://sneerfire.lima-city.de/sneerfire.php

    Beitrag ge?ndert am 16.10.2005 21:40 von sneerfire
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. k**********e

    und wie sieht die count.php aus?
  4. Autor dieses Themas

    s*******e

    die count.php sieht so aus:
    <?PHP

    $email="cb_1992@web.de";//bitte hier deine email angeben
    $domain = "http://www.sneer-fire.de.vu"; //optional deine domain angeben: muss nicht angegeben werden, taucht im "VON" der email auf!
    $dauer = 10;//Dauer der Reloadsperre in Minuten
    $dl_to_mail = 1; //Anzahl an DL?s, nach denen eine email geschickt werden soll

    //und jetzt gehts auch schon los...


    /////////////////////////////////////////////////////
    // //
    // tc-txt-dlcounter v2.3 //
    // //
    // ? 01.04.2004 //
    // Torben Berger //
    // webmaster@powerbulls.de //
    // //
    // Wenn du dieses Script benutzt //
    // akzeptierst du folgendes: //
    // //
    // Dieses Script kann beliebig ge?ndert //
    // werden, solange das copyright //
    // intakt bleibt. //
    // //
    // Ein Verkauf dieses Scripts oder einer //
    // modifizierten Art davon ist nicht erlaubt //
    // //
    // www.powerbulls.de //
    /////////////////////////////////////////////////////



    $ipdatei = "data/ip.txt";
    if (!file_exists($ipdatei))
    {
    $fd=fopen($ipdatei,"w+");
    fclose($fd);
    }

    $file = file("data/links.txt");
    foreach($file as $line)
    {
    list($id,$url) = explode("|",$line);
    $down[$id] = $url;
    }

    if(empty($_GET['id']))
    {
    echo "Insert ID!";
    }
    else
    {
    if(empty($down[$_GET['id']]))
    {
    echo "This ID is not used";
    }
    else
    {
    $ip = $_SERVER['REMOTE_ADDR']; //IP abfragen
    if (($ip == "127.0.0.1") && ($_SERVER['HTTP_X_FORWARDED_FOR'] != ""))
    {
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    $url = $down[$_GET['id']];//downloadurl wird zugewiesen
    $exists = FALSE;//Marker wird gesetzt
    $timestamp = time();//unixtime f?r IP-Sperre wird ermittelt
    $file = file($ipdatei);
    $ipdatei = fopen($ipdatei,"w+");
    foreach ($file as $line)
    {
    $exp_line = explode("|", $line);
    if (($exp_line[0] == $ip) && ($exp_line[1] == $_GET['id'])) //wenn die Zeile der Schleife die IP beinhaltet
    {
    $exists = TRUE; //hier wird der marker auf true gesetzt, da die IP schon vorkommt
    if(($exp_line[2]+ 60*$dauer) < $timestamp) // IP ist nicht mehr gesperrt
    {
    fputs($ipdatei, "$exp_line[0]|$exp_line[1]|$timestamp\n"); //neue Daten f?r diese IP werden geschrieben...
    counten($url);//Funktion counten wird aufgerufen und die Downloadurl mitgeliefert
    }
    else //IP ist noch gesperrt
    {
    fputs($ipdatei, "$line");
    echo "<center><font color = \"red\"><b>Du hast gerade schon die Datei gezogen, warte noch $dauer min</b></font></center>";
    }
    }
    else //wenn die Zeile der Schleife die IP nicht beinhaltet...
    {
    if(($exp_line[2]+ 60*$dauer) > $timestamp) //und noch eine Sperre f?r diese Zeile existiert...
    {
    fputs($ipdatei, "$line"); //wird sie nochmal gleich reingeschrieben, ansonsten wird sie gel?scht!
    }
    }
    }
    if ($exists == FALSE) //hier wird der oben gesetzte Marker abgefragt, wenn er nicht auf TRUE ist, ist die IP neu und wird eingef?gt
    {
    $id = $_GET['id'];
    fputs($ipdatei, "$ip|$id|$timestamp\n"); //neue Zeile f?r neue IP wird geschrieben
    counten($url);//Funktion counten wird aufgerufen und die Downloadurl mitgeliefert
    }
    fclose($ipdatei);
    }
    }

    function counten($url)
    {
    global $email, $dl_to_mail,$domain;
    Header("Location: ".$url);
    header("Expires: Mon, 10 Jan 1970 01:01:01 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Pragma: no-cache");
    $id=$_GET['id'];//eintrag in counter.txt wird vorbereitet
    $date = date("d.m.y");
    $time = date("H:i");
    $countfile="data/counter.txt";
    $treffer=FALSE;
    $file = file($countfile);
    $fd=fopen($countfile,"w+");
    foreach ($file as $line) {
    $exp_line = explode("|", $line);
    if ($exp_line[0] == $id) {
    $count=$exp_line[1];
    $count++;
    $new_line = "$id|$count|$date|$time\n";
    fputs($fd, $new_line);//update alter Eintrag
    }
    else {
    fputs($fd, $line);//update neuer Eintrag
    }
    }
    fclose($fd);
    //folgendes nur, wenn du erst nach einigen DLs eine mail haben willst!
    if ($dl_to_mail > 1)
    {
    $maildat = "data/countmail.txt";
    $maildattemp = fopen($maildat, "a+");
    fwrite($maildattemp, "$id|$date|$time\n");
    fclose($maildattemp);
    $inhalt = file($maildat,"r");
    $anzahl = count($inhalt);
    fclose($inhalt);
    if ($anzahl >= $dl_to_mail)
    {
    $maildat = "data/countmail.txt";//hier wird die Datei countmail.txt eingelesen, um die zur email hinzuzuf?gen
    $maildat=file($maildat);
    foreach ($maildat as $zeile)
    {
    $listlines .= $zeile;
    }
    $header.="From: \"Download-Counter\" $domain\n";
    $header.="MIME-Version: 1.0\n";
    $header.="Content-Type: text/plain;\n";
    $header.="X-Mailer: PHP/".phpversion();
    mail("$email", "Downloadcounter", "$date - $time Uhr\n\n Hinweis vom dlcounter-ROBOT: Es wurden seit der letzten Benachrichtigung weitere $dl_to_mail Downloads gezogen\n\nDiese gliedern sich zeitlich wie folgt:\n$listlines","$header");
    $maildat = "data/countmail.txt";
    $maildattemp=fopen($maildat,"w+");//hier wird die maildat wieder gel?scht!
    fputs($maildattemp,"");
    fclose($maildattemp);
    }
    }
    //folgendes, wenn du bei jedem DL eine Nachricht haben willst!
    else
    {
    $header.="From: \"Download-Counter\" $domain\n";
    $header.="MIME-Version: 1.0\n";
    $header.="Content-Type: text/plain;\n";
    $header.="X-Mailer: PHP/".phpversion();
    mail("$email", "Downloadcounter", "Neuer Download\n\nZeit: $date - $time Uhr\nder Download mit der ID $id wurde runtergeladen","$header");
    }
    }
    ?>
  5. k**********e

    <?
    function auslesen($id)
    {
    $idvalue=FALSE;
    $datei ="/counter/data/counter.txt";
    if (file_exists($datei))
    {
    $file=file($datei);
    foreach ($file as $line)
    {
    $exp_line = explode("|", $line);
    if ($exp_line[0] == $id)
    {
    $idvalue=TRUE;
    $counter=$exp_line[1];
    $date=$exp_line[2];
    $time=$exp_line[3];
    echo "$counter download(s) - Letzter Download: $date - $time Uhr";
    }
    }
    if ($idvalue===FALSE)
    {
    echo "Noch keine Downloads";
    }
    }
    else
    {
    echo "Schwerer Fehler Datei $datei existiert nicht";
    }
    }
    ?>
    in sneerfire.php mal das script f?r die funktion auslesen durch diese ?ndern.
    vllt. liegt es daran...

    den anderen teil gucke ich mir morgen genauer an^^, hab jetzt keine gro?e lust den code auseinander zu fummeln^^
  6. Kommt da garkeine fehlermeldung?
  7. k**********e

    hab ma die funktion counten bissel umgeschrieben..

    habe den teil mit der email g?nzlich weggelassen...
    <?
    function counten($url)
    {
    $id = $_GET['id'];//eintrag in counter.txt wird vorbereitet
    $countfile="data/counter.txt";
    $treffer=FALSE;
    $row = file($countfile);
    for($i=0; $i < count($row); $i++) 
    {
      $col = explode("|", $row[$i]);
      if ($col[0] == $id)
      {
        $col[1] = $col[1] + 1;
        $col[2] = date("d.m.y", time());
        $col[3] = date("H:i", time());
        $row[$i] = implode("|", $col);
        $treffer = TRUE;
      } else {
        $row[$i] = implode("|", $col);
      }
    }
    
    $buffer = implode("\\n", $row);
    if($treffer !== FALSE) // es wurde was g?ndert? als in die datei schreiben
    {
      $fp = fopen($countfile, "w");//
      flock($fp, LOCK_EX);
      fputs($fp, $buffer);
      flock($fp, LOCK_UN);
      fclose($fp);
    } else {
      trigger_error("Die $id wurde in der Datei $countfile nicht gefunden!",E_USER_NOTICE);
      // d?rfte eigentlich nicht vorkommen, da die g?ltigkeit der id schon vorher abgefragt wurde
    }
    Header("Location: ".$url);
    header("Expires: Mon, 10 Jan 1970 01:01:01 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Pragma: no-cache");
    }
    ?>


    Beitrag ge?ndert am 17.10.2005 13:57 von kirschbluete
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!