Visualizzazione risultati 1 fino 3 di 3

Discussione: Semplicissimo circuito di rotazione banner

  1. #1
    Guest

    Question Semplicissimo circuito di rotazione banner

    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...

  2. #2
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

  3. #3
    Guest

    Predefinito

    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]" );

    ?>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •