Hallo Leute,
meine Seite hat in 12 Tagen jetzt einen Traffic von 43 GB. Wird langsam ganz schön teuer!
Meine Anfrage! Gibt es einen Möglichkeit, dass man halt erst auf Banner klicken muss und dann Downloaden kann! Mit Javascript geht es ja, aber java will ich nicht.
Habe einen Downloadtracker, wäre ja schön, wenn man dass damit integrieren kann. Dass halt erst ein neues Fenster aufgeht, wo man dann auf den Banner klicken kann und dann startet der Download oder so!
Hat jemand einen Idee!
Downloadscript:
Danke schon mal
Mfg
meine Seite hat in 12 Tagen jetzt einen Traffic von 43 GB. Wird langsam ganz schön teuer!
Meine Anfrage! Gibt es einen Möglichkeit, dass man halt erst auf Banner klicken muss und dann Downloaden kann! Mit Javascript geht es ja, aber java will ich nicht.
Habe einen Downloadtracker, wäre ja schön, wenn man dass damit integrieren kann. Dass halt erst ein neues Fenster aufgeht, wo man dann auf den Banner klicken kann und dann startet der Download oder so!
Hat jemand einen Idee!
Downloadscript:
PHP:
<?PHP
$email="deine_email";//bitte hier deine email angeben
$domain = ""; //optional deine domain angeben: muss nicht angegeben werden, taucht im "VON" der email auf!
$dauer = 0;//Dauer der Reloadsperre in Minuten
$dl_to_mail = 1; //Anzahl an DL´s, nach denen eine email geschickt werden soll
$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 eben das file schon gezogen und bist vorerst für $dauer min gesperrt</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");
}
}
?>
Danke schon mal
Mfg