Scopo: vorrei creare un circuito di rotazione di banner nel sito.
Modo previsto: pensavo di inserire un file (con la funzione include) richiamato da tutte o quasi le pagine, magari nel footer. Questo file che farò io deve fare le seguenti cose ed è strutturato in questo modo.
Genera un numero a caso, che se non sbaglio è compreso ra 0 ed 1. Moltiplico questo numero per il numero dei banner e ne prendo il valore intero: per esempio 0.548574 x 6 e prendo 3.
Questo numero lo assegna alla variabile, questa variabile che a sua volta diviene un numero serve per richiamare un'altra variabile che sarà del tipo:
...
if variabile1 è 5 allora alla variabile2 assegnail valore banner5.gif e variabile3 assegna il valore link5
if variabile1 è 6 allora alla variabile2 assegnail valore banner6.gif ed alla variabile3 assegna il valore link3
....
e così via.
Nel file include ci sarà il richiamo all'immagine che sarà del tipo:
/file/variabile2
ed a questo sarà messo un collegamento del tipo:
...../variabile3
Quindi nel footer apparirà un banner linkato ad un sito.
Quando avrò un nuovo banner da mettere modifico il numero per cui viene moltiplicato il numero generato inizialmente aumentandolo di uno e poi metto una variabile banner ed una di link nuove.
Qualcuno mi sa aiutare a scrivere il codice php che fa queste cose?
GRAZIE.
Oppure ci sono dei codici simili e me li posso studiare? Ci sono guide? Non voglio usare i database.
Se ci sono mi date i link...
Grazie, ci avevo già dato molto più che un'occhiata a freephp.
Infatti avevo già trovato questo codice che fa circa quello che serve a me:
<?php
/* banner.phtml
Banner rotation script for PHP3 by Anton Olsen (aolsen@graphweb.com)
Please feel free to do with this script what you want, all I ask is
that if you make significant changes, please e-mail them to me.
I tried to use a number of different methods, the image functions
of PHP do not appear to understand animated GIFs and the file
handling features (fopen, fpassthru, and fclose) were causing
apache to crash on me. I settled on using passthru. Although
possibly not as portable, it appears to work faster than either
method mentioned above.
Assumptions:
You have a directory for all your banners.
All banners are GIF files.
The filenames of the banners all start with banner.
There are no other files in the directory starting with banner.
Installation:
Place this script in the banners directory.
Place all your banner*gif files in the same directory.
Add the following HTML code to your web pages :
<a href="wherever.you.want.com">
<img src="http://www.yourserver.com/bannerdir/banner.phtml" alt="Random Banner Here" border=0>
</a>
*/
/* random( $max integer )
Returns a random number between 0 and $max-1;
*/
function random( $max )
{
$x = rand();
$y = getrandmax();
$r = $x / $y * ($max -1 );
$r = round( $r++ );
return $r;
}
/* Read the directory, add all "banner*" files with to the array
*/
$i = 0;
$d = dir(".");
while($entry=$d->read())
if (substr($entry,0,6) == "banner")
$array[$i++] = $entry;
$d->close();
/* pick a banner at random
*/
$r = random( $i );
/* Send a no-cache header, and the gif type header, and output the file.
*/
Header( "Pragma: no-cache" );
Header( "Expires: Monday 01-Jan-80 12:00:00 GMT" );
Header( "Content-type: image/gif");
passthru( "cat $array[$r]" );