Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: script immagini random

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271

    script immagini random

    qualcuno conosce qualche script per inserire in una pagina un tot immagini prese in modo random da una cartella?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    17
    no ma non è troppo complesso...

    1 - leggi tutti i file della cartella (ad esempio con la funzione glob() ) e li metti in un array

    2 - prendi l'elemento dell'array con indice "random"
    Nessun ideale assoluto farà sì che il leone giaccia con l’agnello a meno che l’agnello non sia dentro di lui.
    Piscine Fuori Terra

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    mmm... in effetti hai ragione... faccio prima a scrivere qualcosa io che a cercarla
    grazie comunque per la dritta...

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Tramite la funzione glob() recuperi le immagini all'interno di una cartella, con lo shuffle() le mischi, ne estrai un tot a tua scelta con array_slice(), cicli l'array e le mostri.

    Codice PHP:
    $immagini glob("./img/*.*");
    shuffle($immagini);
    $prime5 array_slice($immagini,0,5);
    foreach(
    $prime5 as $img) {
       echo 
    "<img src=\"$img\" />
    "
    ;


  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    meglio ancora... è perfetto così... grazie 1000

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    17
    si, te l'ha gia scritto
    Nessun ideale assoluto farà sì che il leone giaccia con l’agnello a meno che l’agnello non sia dentro di lui.
    Piscine Fuori Terra

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    il codice postato da nicola, potrebbe funzionare ugualmente se nella cartella ci sono 1000-2000 immagini? o ci vorrà molto tempo mentre che le "indicizzerà" tutte per randomizzarle? e se ci vorrà molto tempo, quale altra strada mi suggerite?

  8. #8
    beh puoi sempre salvare l'elenco delle img in un file e creare da quello l'array, molto piu veloce..
    naturalmente se cambiano le img nella cartella devi ricrearlo

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    l'elenco delle immagini dovrei salvarlo manualmente o posso farlo in qualche modo direttamente in php? le immagini non cambieranno quindi questo è tranquillo... però voglio provarlo perchè voglio capire bene di cosa parliamo quando dici che è "più veloce"... nell'ordine di una frazione di secondo o nell'ordine di secondi? perchè il secondo caso sarebbe inaccettabile...
    altrimenti per 1000 immagini potrei fare 100 cartelle ognuna con 100 immagini e prima gli faccio prendere una cartella a caso e poi in quella gli faccio prendere tot. immagini a caso... così dovrebbe essere più veloce rispetto a leggere 1000 immagini, perchè leggerebbe 100 cartelle e poi 100 immagini, quindi 200 letture anzichè 1000... no?

  10. #10
    beh la lista te la crei con php, mi vengono in mente 2 soluzioni, non sono sicuro di quale sia quella più veloce .. forse quella con l'explode

    Codice PHP:
    #1
    $immagini glob("./imgs/*.*"); 
    file_put_contents("lista.txt"implode($immagini,"|"));

    //per recuperare l'array di img sarà
    $array_immagini explode("|"file_get_contents("lista.txt"));

    #2
    $immagini glob("./imgs/*.*"); 
    file_put_contents("lista.txt"serialize($immagini));

    //per recuperare l'array di img sarà
    $array_immagini unserialize(file_get_contents("lista.txt")); 
    comunque sicuramente non secondi, frazione di secondo
    naturalmente il file lista.txt va creato una sola volta

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.