Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Satunnainen banneri

Sivun loppuun

CoolC++ [03.08.2007 11:39:46]

#

Joo, ajattelin kysästä, että miten tehdään sellainen random banneri, joka lataa erillaisen *.gif tai *.swf -bannerin aina kun es. etusivu latautuu!? Eli, jos vaikka, joku *.gif banneri pyörii ja kun sitä painaa niin se menee juuri siihen sivulle, jota banneri mainostaa, jne.!?

temu92 [03.08.2007 11:56:21]

#

Teet vaikka php:lla siihen systeemin. Siellä olis tiedosto jossa on kuvan nimi ja osote vaikka tällai

http://www.google.fi|googlemainos.gif
http://www.parassivu.com|parassivumainos.gif

Sitten vaan php:lla

<?php
	$mainosmaara  = 2;
	$bannerit = file("mainokset.txt");

	$i = explode("|", $bannerit[rand(0,$mainosmaara-1)]);
	echo '<a href="'.$i[0].'"><img src="'.$i[1].'" /></a>";
?>

kayttaja-2791 [03.08.2007 12:39:43]

#

Mainosmäärä voidaan ottaa tiedostosta automaattisesti, jolloin pelkkä mainokset.txt:n muokkaus riittää:

<?php
	$bannerit = file("mainokset.txt");
	$mainosmaara = count($bannerit);

	$i = explode("|", $bannerit[rand(0,$mainosmaara-1)]);
	echo '<a href="'.$i[0].'"><img src="'.$i[1].'" /></a>";
?>

CoolC++ [26.08.2007 21:25:42]

#

Joo, kiitos, mut mihin mä määrittelen ne mitä linkkejä ja mistä kuvat tai bannerit!? Tarkoitan siis miten tonne mainokset.txt -tiedostoon tulee laittaa url ja kuva tiedoston tiedot, jotta se näyttä ne mainokset!?

Blaze [26.08.2007 21:51:50]

#

Siinähän se toisessa viestissä lukee.

Cornix [26.08.2007 23:31:52]

#

<img>-tagille kannattaa vielä muistaa antaa ainakin alt sekä koot vaaka- ja pystysuunnassa. PHP:llä voi lukea suoraan kuvan leveyden ja korkeuden seuraavasti:

<?php
$koko = getimagesize($i[1]); // Napataan taulukkoon kuvan koko. $koko[0]:ssa on leveys ja $koko[1]:ssä korkeus.

echo '<a href="' . $i[0] . '"><img src="' . $i[1] . '" alt="' . $i[0] . '" width="' . $koko[0] . '" height="' . $koko[1] . '" />';
?>

Toisaalta kuvien koot voisi säilyttää myös tuossa samassa tekstitiedostossa, jolloin getimagesize():ä ei tarvitsisi kutsua joka kerralla uudelleen. Myös vaihtoehtoiseksi tekstiksi voisi harkita jotain muuta kuin mainostettavan osoitteen.

CoolC++ [27.08.2007 10:29:11]

#

Kiitos...

CoolC++ [27.08.2007 14:56:59]

#

Joo, homma toimii nyt osittain kun kokeilin, mutta ei ihan oikein tai tein sen taas väärin:

<?php
$koko = getimagesize($i[1]); // Napataan taulukkoon kuvan koko. $koko[0]:ssa on leveys ja $koko[1]:ssä korkeus.

echo '<a href="http://www.jokupaikka.fi/' . $i[0] . '"><img src="http://www.jokupaikka.fi/img/paikka.jpg' . $i[1] . '" alt="Paikka' . $i[0] . '" width="120' . $koko[0] . '" height="260' . $koko[1] . '" />';

echo '<a href="http://www.jokupaikka.fi/' . $i[0] . '"><img src="http://www.jokupaikka.fi/img/paikka2.jpg' . $i[1] . '" alt="Paikka' . $i[0] . '" width="120' . $koko[0] . '" height="260' . $koko[1] . '" />';

?>

eli ei vieläkään toimi niin, että se vaihtaisi teksti tiedostosta olevia bannereita tähän tyyliin. Teksti tiedostossa lukee:

http://www.jokupaikka.fi|paikka.jpg
http://www.jokupaikka.fi|paikka2.jpg

Tai sitten ilman tekstitiedostoa vaihtaen kuitenkin bannerin.
Nyt se siistekee kaksi banneria, mutta vierekkäni eikä toimi yksittäisesti lataen uuden pannerin kun sivu ladataan uudelleen, missä vika!?

TsaTsaTsaa [27.08.2007 17:04:15]

#

Tuostahan nyt puuttuu tiedostonluku ja bannerin arpominen täysin. Luepas vielä vastaukset huolella läpi. Lisäksi a- ja img-tagit sisältävät vähän liikaa tavaraa.

EDIT: Äkkiseltään yhdisteltynä ylempänä annetut pätkät

<?php
    $bannerit = file("mainokset.txt");
    $mainosmaara = count($bannerit);

    $i = explode("|", $bannerit[rand(0,$mainosmaara-1)]);

    $koko = getimagesize($i[1]); // Napataan taulukkoon kuvan koko. $koko[0]:ssa on leveys ja $koko[1]:ssä korkeus.

    echo '<a href="' . $i[0] . '"><img src="' . $i[1] . '" alt="' . $i[0] . '" width="' . $koko[0] . '" height="' . $koko[1] . '" />';
?>

Sivun alkuun

Vastaus

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

Tietoa sivustosta