Rotacija affiliate pasic !

Majhna koda v php ki vam omogoči naključno rotacijo pasic !

pasice.php -- program

<?php
$adsfile = "pasice.txt";
$fp = fopen($adsfile, "r");
$ads = fread($fp, filesize($adsfile));
$array = explode("\n",$ads);
fclose($fp);
srand((double)microtime()*1000000);
$array_index = (rand(1, sizeof($array)) - 1);
echo $array[$array_index];
?>

pasice.txt. - text datoteka, kjer so linki z vasimi affiliate pasicami !

[url="http://www.free-css-templates.com"][img=http://www.istoritve.com/mybanner.jpg][/img][/url]
[url="http://www.free-css-templates.com"][img=http://www.istoritve.com/mybanner.jpg][/img][/url]
[url="http://www.free-css-templates.com"][img=http://www.istoritve.com/mybanner.jpg][/img][/url]

7 odgovorov

Ena "najpreprostejših" random script za prikazovanje oglasnih pasic. Lepa coda ;)

od PHP 4.2.0 ne rabis vec seedat random generatorja, ker se seeda samodejno, torej ti odpade vrstica

srand((double)microtime()*1000000);

zadnji dve vrstici lahko nadomestis z eno takole:

echo $pasice[array_rand($pasice)];

od 4.3.0 verzije PHPja pa lahko celo tvoje crevo napises v dveh vrsticah :)

$pasice = explode("\n", file_get_contents('pasice.txt'));
echo $pasice[array_rand($pasice)];

vsekakor pa pozdravljam tale vajin poskus zdruzevanja slovenskih webmastrov :)

Super imamo php programerja :D

Izgleda res kot kača v primerjavi s tvojo kodo. Lahko streseš iz rokava še da se vrstice prikazujejo po vrsti ? ;)

Da se enemu userju prikazujejo po vrsti ali na splosno?

Za prvo bi lahko uporabil session, za drugo bi pa moral v kaksen fajl zapisovat trenutno vrednost counterja. Tko na brzino iz glave...

za prvo varjanto:

session_start();
if (!isset($_SESSION['adcounter'])) $_SESSION['adcounter'] = 0;
$pasice = explode("\n", file_get_contents('pasice.txt'));
echo $pasice[($_SESSION['adcounter']++)%sizeof($pasice)];

nism sprobal, ampak mislim, da bi moralo delat... ce ti je kaksna druga skripta prej (recimo kaksen CMS ali kaj podobnega) startala session, ne potrebujes prve vrstice...

aha, problem bo za une, ki nimajo vklopljenih cookiejev, tem bo kazalo skos prvo reklamo... to bi resil na tak nacin, da bi inicializiral $_SESSION['adcounter'] na random key od $pasice, takole:

session_start();
$pasice = explode("\n", file_get_contents('pasice.txt'));
if (!isset($_SESSION['adcounter'])) $_SESSION['adcounter'] = array_rand($pasice);
echo $pasice[($_SESSION['adcounter']++)%sizeof($pasice)];

tistim brez cookiejev bi se prikazovali nakljucni oglasi, tistim s cookieji pa bi se najprej prikazal nakljucni oglas, potem pa po vrsti...

ce sem se kaj zatipkal, mi ne zameri, nism preveril primerov, to je tko iz glave...

No ja, za tistega, ki ne pozna zadev z interaktivnimi jeziki, bo ta skripta dovolj. :P

kako bi pa tole preuredil, da bi lahko dal noter npr. google adds? al pa kaj več kode, ki sega recimo več vrstic? :$

hvala!

Omoc:
kako bi pa tole preuredil, da bi lahko dal noter npr. google adds? al pa kaj več kode, ki sega recimo več vrstic? :$

hvala!

Pri explode moraš uporabit neko drugo zadevo. Recimo da ločiš posamezne kode z --novakoda--, potem definiraš pri explode prvi paramterer "--novakoda--".