Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Klikkausten laskija

jpekkam [14.12.2004 08:50:02]

#

https://www.ohjelmointiputka.net/koodivinkit/23724-php-tiedostojen-kopiointilaskuri
Tuota koodia olen kokeillut saada toimiin, mutta:

Kun klikkaan imu niin se koittaa imuttaa osoitteesta:

http://www.mydomain.com/kopioi.php?file­=imuroitavaa/pelit/testi.zip
ja eihän tuo onnistu.... tulee vaan valkoinen sivu.

Kun imutus osoitteeksi pitäis saada:
http://www.mydomain.com/imuroitavaa/pelit/testi.zip

Pitäiskö tätä jotenkin muuttaa tuossa koodissa?
<a href="kopioi.php?file=imuroitavaa/pelit/testi.zip">imu</a>

sqwiik [14.12.2004 09:49:43]

#

Tuota lähdekoodia kun katselin, niin linkki saa olla ihan normaalimuodossa eli laita se muotoon
<a href="imuroitavaa/pelit/testi.zip">imu</a>

jpekkam [14.12.2004 10:30:52]

#

Ei se laske sitte niitä ollenkaan :(
Lukee vaan, että:

Tämä tiedosto on kopioitu 0 kertaa
imu

ja tuonne kopioinnit.dat ei tuu mitään.

Näin jos laitan niin se laskee, mutta sitte koittaa väärästä osoitteesta imuroida.

<a href="kopioi.php?file=imuroitavaa/pelit/testi.zip">imu</a>

tsuriga [14.12.2004 11:53:41]

#

Tuo koodivinkkikin saattaisi kaivata päivitystä, mutta etköhän tällä selviä: Tulosta tuo $id ja katso, mitä se sisältää. Sitten mietit, kuinka sen saa viittaamaan tiettyyn kansioon (vinkkejä, tällä hetkellä tiedostoa yritetään etsiä samasta kansiosta, yhdistele merkkijonoja).

jpekkam [14.12.2004 12:31:57]

#

Ei kellään olisi muita samantyylisiä tiedossa... tää ei oikeen toimi :(

Kiitos!

ajv [14.12.2004 17:35:29]

#

Vaikka valmiiden ohjelmien pyytäminen nyt on hieman kyseenalaista, niin tämän kerran teen poikkeuksen. Syynä lähinnä, että jumitan koululla eikä ole mitään tekemistä. Tein tämän koodin ihan kokeilumielessä. Äläkä uskalla sanoa, että et saa tätä tomimaan, sillä tämä toimii.

<?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)]).'
';
   }

}

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

Odotan jo tietyltä taholta Purkkaaa!!-huutoa :)

Edit: niin ja tässä esimerkkisivu.

Vastaus

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

Tietoa sivustosta