Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Rotazione oraria header

    Ciao a tutti. Sto avendo qualche difficoltà a figurarmi un modo per far apparire, a seconda dell'ora, un diverso header in un sito. In pratica, avendo una cartella con tutte le immagini, ora dopo ora il sito dovrebbe mostrarne una diversa, sequenzialmente. E' possibile farlo senza dover prima compilare una lista delle immagini? Grazie!

  2. #2
    Be', potresti chiamare le immagini in modo che il nome sia qualcosa di simile ORA_header.jpg

    Dove ora viene sostituito di volta in volta.

    tu nel tuo script fai una cosa del genere,

    Codice PHP:
    $header "ORA_header.jpg";
    $ora date("H"time());

    $header str_replace("ORA"$ora$header); 
    a questo punto ogni ora l'immagine avrà un nome diverso.
    tu dentro la tua cartella immagini avrai questo elenco di immagini per l'header

    1_header.jpg
    2_header.jpg
    3_header.jpg
    ....
    ...
    15_header.jpg
    16_header.jpg

    e cosi via....

  3. #3
    Grazie, ma con questo sistema avendo 3-4 immagini da far ruotare dovrei farne delle copie per riempire le ore fino a 12... Inoltre, ogni volta che andasse aggiunta una immagine, si dovrebbe provvedere a rinominarle tutte e fare copie anche di quest'ultima...

    Dal momento che il sistema dovrebbe essere il più semplice possibile (non provvederò io all'aggiornamento degli header), cercavo un modo per far si che non servisse rinominare le immagini, e che bastasse aggiungerne una alla cartella per metterla correttamente in rotazione...

  4. #4
    Si ma.... se la cartella (dopo un periodo X) arrivasse a contenere 200 immagini, come pensi possa venire gestita la rotazione oraria???

    Mi ci sono divertito a trovare una soluzione e penso che potresti fare così:

    Codice PHP:
    // definisci il percorso dove risiedono le immagini che
    // vuoi far rotare
    $folder "percorso/per/arrivare/alle/immagini";
    // apri la cartella
    $file_jpg opendir($folder);

    // fai un ciclo per vedere i file che vi sono contenuti
    while ($file readdir($file_jpg)) {

       list (
    $nome,$estensione) = explode("."$file);

         if (
    $estensione == "jpg") {
             
    $array_immagini[] = "$file";
         }
    // chiudo il ciclo di while 
    Qui mi fermo perché ti devi porre qualche domanda.
    1) Le foto possono essere meno di 24 (quindi meno di 1 l'ora)
    2) Le foto possono essere più di 24 (quindi più di 1 l'ora).
    3) Le foto possono essere 24 (e allora non hai grossi problemi).
    È necessario quindi porre delle condizioni.

    Codice PHP:
    // conto quante foto sono nell'array
    $numero_foto count($array_immagini);
    // calcoli che ora è
    $ora date("H"time());
    $min date("i"time());

    if (
    $ora && $numero_foto 24) {
    // calcoli l'intervallo tra una foto e l'altra
    $intervallo 24 $numero_foto;
    $indice = (round($ora/$intervallo)) - 1;

    } elseif (
    $ora && $numero_foto 24) {
    // in questo caso ne avvicendi + di 1 l'ora
    // per cui devi conoscere anche i minuti

    // calcolo i minuti passati dalla mezzanotte
    $min_attuali = ($ora 60) + $min;
    $minuti_in_un_giorno 1440;
    $rapporto_foto_minuti $minuti_in_un_giorno $numero_foto;
    // calcolo l'indice
    $indice = (round($min_attuali/$rapporto_foto_minuti)) - 1;

    } elseif (
    $ora == OR $numero_foto == 24) {
    $indice $ora;
    }

    $immagine_da_visualizzare $array_immagini[$indice]; 
    Non l'ho provato, ma dovrebbe andare.
    Dovessero esserci problemi, spero che hai capito il mio metodo, così puoi provare a modificartelo anche da te.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Hai provato lo script? Funziona?

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Ti ringrazio per la cortesia, ma ho desistito.

    Avevo elaborato una soluzione, un pò più semplice di quella da te postata, consistente in un array da 12 elementi da popolare ciclicamente con le immagini presenti per poi estrarre quella relativa all'ora corrente.

    Ma dato che tale processo dovrebbe avvenire ad ogni accesso al sito, con conseguente degrado delle prestazioni (si tratta pure sempre di leggere un elenco di file da una directory), ho preferito mantenere, almeno per il momento, la via più facile della selezione casuale.

    Grazie lo stesso, a presto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.