Download script

Status
Niet open voor verdere reacties.

AAley

Gebruiker
Lid geworden
23 jun 2003
Berichten
274
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")); 
}
}
}}

?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan