Oder anderst gefragt wie bau ich dass in folgende php-datei ein:
<?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");
}
}
?>
Dass wenn er die ID öffnet gleichzeitig das popup aufgeht?
MFg