Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Latauslaskuri

vesaz [19.10.2005 17:00:28]

#

Mistä mahtaisi saada sellaisen lataus laskurin joka laskee että kuinka monta kertaa jotain tiedostoa on ladattu?
Kun googlella löytyy vain sellaisia jotka laskee käviöitä.

ajv [19.10.2005 17:21:35]

#

ole hyvä, 5€:

<?php
$hakemisto = 'load'; 	 //hakemisto, jossa ladattava tavara on
$laskuri   = 'laskuri.txt'; //tekstitiedosto, johon latausmäärät tallennetaan (oikat 777 tjsp.)

//ei varmana muuten jäädä cacheen ;)
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

$data = array();
array_map("assoc",file($laskuri));

if(isset($_GET['id']) && file_exists($hakemisto."/".$_GET['id'])){

   $id = $_GET['id'];
   $data[$id]++;
   $fp = fopen($laskuri,"w");
   flock($fp, LOCK_EX);
   foreach($data as $key => $val) fwrite($fp,"$key|$val\n");
   flock($fp, LOCK_UN);
   fclose($fp);
   header("Location: ".$hakemisto."/".$id);

}else{

   foreach(glob("$hakemisto/*.*") as $tiedosto){
      echo '<a href="'.$_SERVER['PHP_SELF'].'?id='.basename($tiedosto).'">'.basename($tiedosto).'</a> ';
      echo 'Latauksia: '.intval(@$data[basename($tiedosto)]).'<br />';
   }

}

function assoc($row){
   global $data;
   $r = explode("|",$row);
   $data[$r[0]]=trim($r[1]);
}
?>

Täysin periaatteiden vastaista antaa valmista koodia, mutta kun tuollaisen esimerkin joskus jollekkin tylsillä hyppytunneilla tein, niin menköön tämän kerran. Nouseepahan niidenkin hyppytuntien hyödyllisyys :)

vesaz [19.10.2005 18:27:25]

#

Kiitos rahat tulee postissa :D

vesaz [19.10.2005 22:29:09]

#

Tuota vielä ku voisit kertoa miten tuo laitetaan toimintaan kun laitoin tuon load
$hakemisto = 'load';
tilalle
$hakemisto = '/esim/esim.rar';
noin niin ei tuo laskuri.txt ainakaan mitään näytä vaikka olisikin ladannut kyseisen tiedoston ja olen Chmodannu sen 777

ajv [19.10.2005 22:38:10]

#

No kun idea on siinä, että laitat jonnekkin hakemistoon ne filut joita haluat ladattavaksi ja sitten laitat tohon $hakemisto-muuttujaan vaan sen hakemiston nimen - et siis tiedostonimeä - niin skripti listaa sen hakemiston sisällön ja tulostaa linkit jne...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta