Mijn download script geeft geen errors, slaat niet op hoeveel keer het gedownload is en wanneer de laatste tijd is. (Ik heb meer optie's die ik met true en false kan instellen).
PHP:
<?
$DownloadsLimiet = false; // true; of false;
$DownloadsLimietBestand = "downloads.dat";
$DownloadsLimietAantal = 99999999999999;
$DownloadsDataBestand = "downloadsteller.dat";
$TableBorder = 1;
$CellPadding = 3;
$CellSpacing = 0;
$VoorbeeldenActiveren = false;
$OverigeInformatieActiveren = false;
$DownloadsLocatie[] = "games/Advance.zip";
$DownloadsHTMLCode[] = "Advance";
$DownloadsVoorbeeld[] = "";
$DownloadsOverigeInformatie[] = "";
$DownloadsLocatie[] = "games/Blender_bros.zip";
$DownloadsHTMLCode[] = "Blender_bros";
$DownloadsVoorbeeld[] = "";
$DownloadsOverigeInformatie[] = "";
$Datum = date("d-m-Y H:i:s");
$DownloadFile = file($DownloadsDataBestand);
if($DownloadsLimiet) {
$DownloadsLimietFile = file($DownloadsLimietBestand);
}
if(count($DownloadFile) != count($DownloadsLocatie)) {
$DownloadBestand = fopen($DownloadsDataBestand,"w");
for($i = 0; $i < count($DownloadsLocatie); $i++) {
fputs($DownloadBestand,"0|-|$DownloadsLocatie[$i]|\n");
}
fclose($DownloadBestand);
$DownloadFile = file($DownloadsDataBestand);
}
if($DownloadsLimiet) {
if(count($DownloadsLimietFile) != count($DownloadsLocatie)) {
$DownloadsLimietTellerBestand = fopen($DownloadsLimietBestand,"w");
for($i = 0; $i < count($DownloadsLocatie); $i++) {
fputs($DownloadsLimietTellerBestand,"0|$DownloadsLocatie[$i]|\n");
}
fclose($DownloadsLimietTellerBestand);
$DownloadsLimietFile = file($DownloadsLimietBestand);
}
}
if(!$download && !$top10) {
echo("<h2>Downloads</h2>\n<br>\n");
echo("<table cellpadding=$CellPadding cellspacing=$CellSpacing border=$TableBorder>
<tr><td></td><td><font face='Verdana' size=1><center><b>Totaal aantal downloads</b></center></td><td><font face='Verdana' size=1><center><b>Laatste Download</b></center></td>");
if($VoorbeeldenActiveren) { echo("<td><font face='Verdana' size=1><center><b>Voorbeeld</b></center></td>"); }
if($OverigeInformatieActiveren) { echo("<td><font face='Verdana' size=1><center><b>Overige Informatie</b></center></td>"); }
echo("</tr>\n");
for($i = 0; $i < count($DownloadsLocatie); $i++) {
$DownloadSplit = explode("|",$DownloadFile[$i]);
echo("<tr><td><a href='downloads.php?download=$DownloadsLocatie[$i]' target='_blank'>$DownloadsHTMLCode[$i]</a></td><td>$DownloadSplit[0]</td><td>$DownloadSplit[1]</td>");
if($VoorbeeldenActiveren) { echo("<td><a href='$DownloadsVoorbeeld[$i]'>$DownloadsVoorbeeld[$i]</a></td>"); }
if($OverigeInformatieActiveren) { echo("<td>$DownloadsOverigeInformatie[$i]</td>"); }
echo("</tr>\n");
}
echo("</table>");
if($top10) {
for($i = 0; $i < count($DownloadsLocatie); $i++) {
$DownloadFile[$i] = trim($DownloadFile[$i])."$DownloadsHTMLCode[$i]|$DownloadsLocatie[$i]|";
}
natcasesort($DownloadFile);
$DownloadF = array_reverse($DownloadFile);
for($i = 0; $i < 10; $i++) {
if($DownloadF[$i]) {
$DownloadSplit = explode("|",$DownloadF[$i]);
echo("<a href='$PHP_SELF?download=$DownloadSplit[4]' target='_blank' onMouseOver='window.status=\"Totaal aantal downloads: $DownloadSplit[0]; Laatste download: $DownloadSplit[1]\";return true' onMouseOut='window.status=\"\";return true'>$DownloadSplit[3]</a><br>\n");
}
}
}
else {
if($DownloadsLimiet) {
$Downloadshetbestand = file($DownloadsLimietBestand);
$DownloadsLimietBestandOpen = fopen($DownloadsLimietBestand,"w");
for($i = 0; $i < count($Downloadshetbestand); $i++) {
if(strstr($Downloadshetbestand[$i],$download)) {
$Downloadsteller = intval($Downloadshetbestand[$i]);
if($Downloadsteller >= $DownloadsLimietAantal) {
echo("<script language='JavaScript'>
alert('Het bestand is vandaag al $DownloadsLimietAantal keer gedownload.\\nProbeer het morgen nog eens.');
location.href = $PHP_SELF;
</script>");
$DownloadsLimietBereikt = true;
fputs($DownloadsLimietBestandOpen,$Downloadshetbestand[$i]);
}
else { $Downloadsteller++; fputs($DownloadsLimietBestandOpen,"$Downloadsteller|$download|\n"); }
}
else { fputs($DownloadsLimietBestandOpen,$Downloadshetbestand[$i]); }
}
fclose($DownloadsLimietBestandOpen);
}
if(!$DownloadsLimietBereikt) {
$DownloadBestand = fopen($DownloadsDataBestand,"w");
for($i = 0; $i < count($DownloadFile); $i++) {
$Split = explode("|",$DownloadFile[$i]);
if(strstr($DownloadFile[$i],"|$download|")) {
$DownloadsTeller = intval($Split[0]);
$DownloadsTeller++;
fputs($DownloadBestand,"$DownloadsTeller|$Datum|$download|\n");
$DownloadsGevonden = true;
}
else {
fputs($DownloadBestand,$DownloadFile[$i]);
}
}
fclose($DownloadBestand);
if($DownloadsGevonden) {
header("Content-type: application/x-gzip");
header("Content-Disposition: attachment; filename=$download");
header("Content-Description: Download");
fpassthru(fopen($download,"r"));
}
}
}}
?>