Visualizzazione risultati 1 fino 13 di 13

Discussione: Script per immagini random con link

  1. #1
    Guest

    Predefinito Script per immagini random con link

    Vorrei uno script (non java, ma html o php) che mi permetta di visualizzare delle immagini random.
    Però vorrei che mi visualizzi tutte le immagini presenti in una cartella e in tutte le sottocartelle contenute in essa.
    Inoltre vorrei che lo script permetta di impostare un rimpicciolimento di immagine, perché vorrei incastrare le immagini in un buchino apposito.
    Vorrei che quando si clicchi sull'immagine, si vada sul link dell'immagine in un'altra finestra.

    Cordiali saluti,
    Davide B.

  2. #2
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Citazione Originalmente inviato da gtamodshelp Visualizza messaggio
    Vorrei uno script (non java, ma html o php) che mi permetta di visualizzare delle immagini random.
    Potresti mettere tutti gli url delle immagini in un array, ed estrarne uno in modo random.


    Citazione Originalmente inviato da gtamodshelp Visualizza messaggio
    Però vorrei che mi visualizzi tutte le immagini presenti in una cartella e in tutte le sottocartelle contenute in essa.
    Potresti usare la glob().
    Per le sottocartelle, dovresti riapplicare la glob() ricorsivamente (nel link ci sono degli esempi su questo).
    Inoltre vorrei che lo script permetta di impostare un rimpicciolimento di immagine, perché vorrei incastrare le immagini in un buchino apposito.
    Per farlo, è sufficiente impostare ad esempio il "width" via css.
    Vorrei che quando si clicchi sull'immagine, si vada sul link dell'immagine in un'altra finestra..
    Potresti farlo con un semplice link, impostando il target a "_blank"

    Ciao!

  3. #3
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    estrarne uno in modo random
    Per fare questo puoi utilizzare la funzione rand() e applicare ad ogni immagine un numero.

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Per fare questo puoi utilizzare la funzione rand()
    Si possono usare anche la array_rand(), oppure shuffle() prelevando il primo elemento...


    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    e applicare ad ogni immagine un numero.
    Cioè?

    Ciao!

  5. #5
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    applicare ad ogni immagine un numero.
    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Cioè?
    Per estrarre in modo random una scritta, un'immagine o qualsiasi altra cosa io conto il numero di questi (ad esempio 10) e con rand(1,10) prelevo un numero casuale.
    Dato che ogni elemento ha un numero, stampo l'elemento relativo a quel numero.

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Potresti mettere tutti gli url delle immagini in un array, ed estrarne uno in modo random.
    Potresti farmi un esempio del codice in questione?
    Ma io vorrei che se uppo un immagine in quella cartella o qualche sua sottocartella, si aggiunga in automatico alla lista.

  7. #7
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Spero che funzioni, non l'ho testato.
    Codice PHP:
    <?php
    //diamo i nomi alle immagini, ad esempio pippo.png, paperino.png e image.png
    $array[0] = "pippo";
    $array[1] = "paperino";
    $array[2] = "image";
    $numero1 = count($array);
    $numero = $numero1 - 1; //tolgo 1 perché si parte da 0 e non da 1
    $random = rand(0,$numero);
    $estensione = ".png"; // l'estensione dell'immagine, tipo .jpg, .jpeg eccetera
    $cartella = "http://forum.it.altervista.org/images/"; //lascia vuoto se le immagini stanno nella stessa cartella e ricordati lo slash dopo il nome della cartella: /
    echo "<img src=\"".$cartella.$array[$random].$estensione."\" />"; //stampa: <img src="http://forum.it.altervista.org/images/[immagine a caso].png" />
    ?>
    Citazione Originalmente inviato da gtamodshelp Visualizza messaggio
    vorrei che se uppo un immagine in quella cartella o qualche sua sottocartella, si aggiunga in automatico alla lista
    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Potresti usare la glob().
    Per le sottocartelle, dovresti riapplicare la glob() ricorsivamente (nel link ci sono degli esempi su questo).
    Ciao!
    Ultima modifica di radiodelmomento : 02-02-2012 alle ore 21.22.46

  8. #8
    Guest

    Predefinito

    Il manuale che mi hai linkato è un po' complicato, potresti aggiungermi la glob allo script?

  9. #9
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Se aggiungessi io il glob() allo script non capiresti cosa ho fatto e la prossima volta non riusciresti a modificarlo.
    Guarda l'esempio:
    Codice PHP:
    <?php
    foreach (glob("*.txt") as $filename) { //qui modifica .txt in .png ad esempio
    echo "$filename size " . filesize($filename) . "\n"; //qui non ci interessa niente la funzione filesize(), ma quello che ci interessa è che abbiamo ricavato il nome dell'immagine con $filename, quindi $filename corrisponde all'immagine
    }
    ?>

  10. #10
    Guest

    Predefinito

    Ho aggiunto il global allo script:
    Codice PHP:
    <?php
    foreach (glob("*.png") as $filename) { //qui modifica .txt in .png ad esempio
    }
    $numero1 = count($filename);
    $numero = $numero1 - 1; //tolgo 1 perché si parte da 0 e non da 1
    $random = rand(0,$numero);
    $estensione = ".png"; // l'estensione dell'immagine, tipo .jpg, .jpeg eccetera
    $cartella = "http://www.gtamods.it/galleria/Images/"; //lascia vuoto se le immagini stanno nella stessa cartella e ricordati lo slash dopo il nome della cartella: /
    echo "<img src=\"".$cartella.$filename[$random].$estensione."\" />"; //stampa: <img src="http://www.gtamods.it/galleria/Images/GTAIVSA/1.png" />
    ?>
    Ma poi come faccio a metterlo nella mia homepage?
    Devo incollare il codice oppure devo metterlo da qualche altra parte?

  11. #11
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Dentro il ciclo devi mettere qualcosa, altrimenti non serve a nulla!
    Prima del ciclo metti
    Codice PHP:
    $item = 0;
    A questo punto aggiungi gli elementi all'array $array (dentro il ciclo).
    Codice PHP:
    $array[$item] = $filename;
    Quindi aumenti $item, sempre dentro il ciclo.
    Codice PHP:
    $item++;
    Modifica
    Codice PHP:
    $numero1 = count($filename);
    // in:
    $numero1 = count($array);
    E otteniamo il numero degli elementi.
    Lo script dovrebbe funzionare (finalmente!).

  12. #12
    Guest

    Predefinito

    Spero di aver fatto giusto.
    Codice PHP:
    <?php
    foreach (glob("*.png") as $filename) { //qui modifica .txt in .png ad esempio
    echo "$filename size " . filesize($filename) . "\n"; //qui non ci interessa niente la funzione filesize(), ma quello che ci interessa è che abbiamo ricavato il nome dell'immagine con $filename, quindi $filename corrisponde all'immagine
    }
    $item = 0;
    $array[$item] = $filename;
    $item++;
    $numero1 = count($array);
    $numero = $numero1 - 1; //tolgo 1 perché si parte da 0 e non da 1
    $random = rand(0,$numero);
    $estensione = ".png"; // l'estensione dell'immagine, tipo .jpg, .jpeg eccetera
    $cartella = "http://gtamods.it/galleria/Images/"; //lascia vuoto se le immagini stanno nella stessa cartella e ricordati lo slash dopo il nome della cartella: /
    echo "<img src=\"".$cartella.$array[$random].$estensione."\" />"; //stampa: <img src="http://gtamods.it/galleria/Images/[immagine a caso].png" />
    ?>
    Ma poi come faccio ad inserirlo?
    Devo inserire il codice PHP direttamente nella pagina o devo farlo in qualche altra maniera?

  13. #13
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Inserisci il codice dove vuoi fare comparire l'immagine.

Regole di scrittura

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