Visualizzazione risultati 1 fino 17 di 17

Discussione: [Help] Immagini random, in php

  1. #1
    Guest

    Predefinito [Help] Immagini random, in php

    Ho letto su un sito come fare le immagini in random, ossia ogni volta che viene aggiornata una pagina cambia immagine.
    Questa è la guida:

    Crea una cartella e dentro ci metti un file immagine vuoto(tipo refresh.gif).
    Crei un file .htaccess e ci scrivi dentro così:
    Codice:
    RewriteEngine On
    RewriteRule ^refresh.gif$ random.php [L]
    Sostituendo l'estensione ed il nome di "refresh.gif" a seconda di estensione e nome del file che vuoi usare, e sostituendo "random.php" con il nome della pagina php a cui devi reindirizzare.
    Poi crei questa pagina php e ci metti dentro:
    Codice:
    <?php
    $random = rand(0, 5);
    $image = file_get_contents("avt".$random.".png");
    header("Content-Type: image/png;");
    echo $image;
    ?>
    Sostituisci il "5" dentro rand() con il numero di immagini che hai nella cartella(escluso refresh.gif), poi sostituisci "file_get_contents("avt".$random.".png");" mettendo al posto di "avt" il nome delle immagini che devono ruotare(devono avere tutte lo stesso nome ed avere un numero compreso tra quelli che ci sono in rand(), e devono avere la stessa estensione.), .png con l'estensione delle immagini, ed in header() sostituisci image/png con image/ESTENSIONE.

    Poi metti nella stessa cartella tutte le immagini che devi far ruotare, come ho già detto con il nome uguale, un numero compreso tra quelli di rand() e la stessa estensione.

    A me non si trova... non so dove ho sbagliato... le immagini sono tutte in jpeg. Ecco la random e i codici del .htaccess sono:
    Codice:
    RewriteEngine On
    RewriteRule ^1.jpeg$ random.php [L]
    Non so dove sbaglio... se visualizzate la sorgente pagina della random o trovate un errore nel' .htaccess sarebbe meglio, grazie.
    p.s. ho già abilitato la mod_rewrite.
    Ultima modifica di hotmailmsnworld : 16-11-2007 alle ore 16.37.40

  2. #2
    Ospite Guest

    Predefinito

    Bah, non vedo il senso di tutto questo giro per uno script così semplice.
    Visto che su AlterVista le librerie PHP GD sono abilitate e funzionanti io le sfrutterei.
    Per estrarre in maniera casuale le userbar per la mia firma io ho creato questo script, magari può esserti utile, non hai bisogno di nessun htaccess:

    Codice PHP:
    <?
    header
    ("Content-type: image/png");
    $dir="immagini/"; //la cartella dalla quale estrarre casualmente le immagini,modifica
    $ub = glob($dir."*.*");
    $r=array_rand($ub);
    $p=explode(".",$ub[$r]);
    $p['1']=str_replace("jpg","jpeg",$p['1']);
    $toeval='$im=imagecreatefrom'.$p['1']."(\"".$ub[$r]."\");";
    eval(
    $toeval);
    imagepng($im);
    ?>
    Vuoi selezionare solo alcune immagini da mostrare? ti basta modificare l'array $ub


    Codice PHP:
    <?
    header
    ("Content-type: image/png");
    $ub = array("immagini/1.gif","immagini/2.png"); //immagini da estrarre, modifica
    $r=array_rand($ub);
    $p=explode(".",$ub[$r]);
    $p['1']=str_replace("jpg","jpeg",$p['1']);
    $toeval='$im=imagecreatefrom'.$p['1']."(\"".$ub[$r]."\");";
    eval(
    $toeval);
    imagepng($im);
    ?>
    Nota che l'estensione delle immagini deve uguale al formato delle stesse.

    esempio:
    se il formato di "immagine1.gif" è png, devi rinominare il file "immagine.png".

    Ciao!

  3. #3
    Guest

    Predefinito

    Ci ho capito poco... e come dovrei chiamare le due pagine?

  4. #4
    Ospite Guest

    Predefinito

    e come dovrei chiamare le due pagine?
    Non sono 2 pagine diverse.
    Il primo script devi utilizzarlo se vuoi estrarre casualmente una tra tutte le immagini in una cartella, nel secondo ti mostro come puoi modificare il codice per scegliere solo alcuni files.
    Poi ti lascio la scelta della soluzione che fa per te.
    La pagina puoi nominarla come vuoi, il nome non è importante, basta che il file abbia estensione .php.
    Vuoi chiamarla random.php, chiamala pure random.php ;)
    Cos'altro non hai capito? Chiedi :)

  5. #5
    Guest

    Predefinito

    Grazie, ora funge tutto.
    Altra cosa: potrei mettere tipo un timer in modo che le immagini cambiano ogni 20 secondi?

  6. #6
    Ospite Guest

    Predefinito

    Non sono sicuro del funzionamento ma prova ad aggiungere:
    Codice PHP:
    header("refresh: 20;");
    dopo:
    Codice PHP:
    header("Content-type: image/png");
    Fammi sapere, ciao!

  7. #7
    Guest

    Predefinito

    Non va.
    Comunque ho provato a usarlo come avatara su un forum e mi dice che l'estensione del file non è valida... Ossia questa
    Ultima modifica di hotmailmsnworld : 16-11-2007 alle ore 18.22.05

  8. #8
    Ospite Guest

    Predefinito

    Come hai eventualmente modificato lo script?
    Perchè ho testato la soluzione postata al messaggio #6 e funziona, dopo tot secondi avviene l'aggiornamento.
    Comunque ho provato a usarlo come avatara su un forum e mi dice che l'estensione del file non è valida...
    Non è un problema dello script e nemmeno del forum, in qualsiasi board che si rispetti non puoi utilizzare files con estensione .php come avatar per ovvie ragioni di sicurezza.
    Purtroppo quindi non è in alcun modo possibile inserire immagini personali estratte casualmente tramite script.
    L'unica soluzione per gli avatar che io sappia è utilizzare gif animate.
    Ciao!

  9. #9
    Guest

    Predefinito

    Conosco invece un utente che l'ha messo... però non so come...

  10. #10
    Ospite Guest

    Predefinito

    Ah, ok, c'ho ragionato un'pò su .
    L'htaccess che hai postato all'inizio serviva per cambiare l'estensione del file da .php a .gif in modo da far riconoscere al forum l'indirizzo come immagine.
    Io ti ho sconsigliato quella soluzione inconsapevole della tua necessità di utilizzare lo script in un avatar.
    Prova un'pò ad inserire questo htaccess nella stessa directory in cui si trova lo script php che ti ho fornito (che è comunque più semplice rispetto a quello consigliatoti altrove):

    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^avatar.gif$ avatar.php
    Ovviamente al posto di random.php devi mettere il nome del file php che genera l'immagine.
    Non creare il file avatar.gif, al contrario di quanto ti è stato consigliato non serve.

    Ciao!

  11. #11
    Guest

    Predefinito

    Non cambia niente...
    Ultima modifica di hotmailmsnworld : 16-11-2007 alle ore 19.08.48

  12. #12
    Ospite Guest

    Predefinito

    Come avatar devi inserire come avatar avatar.gif non avatar.php ;)
    Ho provato in un altro forum (qui non è abilitato il supporto agli avatar esterni) e funziona :D
    Ciao!

  13. #13
    Guest

    Predefinito

    Non va, vado in avatar.gif e dice Errore 404
    Comunque se vedi su altervista affianco al file .htaccess c'è un iconcina con l'immagine di due "ingranaggi". A me, ora che ho rimesso il file non appaiono più, ma mi segna il file come un normale documento.
    p.s. La rewrite è attiva.

    EDIT: Risolto.
    Vorrei solamente sapere perchè alcune volte mi esce scritto che c'è un errore nella pagina... ma solo alcune volte.

    EDIT 2: Mi rinizia un altro problema ora... Ho messo la pagina avatar.gif come avatar su un altro forum (penso succeda la stessa cosa su tutti...) e se non ho aperta quella pagina mi da un avatar bianco. Poi quando vado ad aprire quella pagina mi esce un immagine vuota 1x1... che cos'è e come devo fare?

  14. #14
    Ospite Guest

    Predefinito

    Vorrei solamente sapere perchè alcune volte mi esce scritto che c'è un errore nella pagina... ma solo alcune volte.
    EDIT 2: Mi rinizia un altro problema ora... Ho messo la pagina avatar.gif come avatar su un altro forum (penso succeda la stessa cosa su tutti...) e se non ho aperta quella pagina mi da un avatar bianco. Poi quando vado ad aprire quella pagina mi esce un immagine vuota 1x1... che cos'è e come devo fare?
    Forse perchè l'estensione dell' immagine non è uguale al formato della stessa.
    Ti ricordo infatti che per lo script in uso se il formato è ad esempio PNG, l'immagine deve chiamarsi <nome>.png.
    Se vuoi utilizzare un estensione diversa puoi convertire le immagini.
    Ciao!

  15. #15
    Guest

    Predefinito

    Ad esempio erano 8 immagini ed ognuna si chiamava: 1.png, 2.png, 3.png ecc...
    Così credo che andava bene lo stesso... poi non so percè usciva quel'immagine 1x1 px

    Altrimenti dovrei usare il 2° metodo che hai postato? Solamente che alcune cose non si trovano... ad esempio la 1a immagine è .gif la seconda .png e qui c'è ancora un altro formato:
    Codice:
    $p['1']=str_replace("jpg","jpeg",$p['1']);

    Comunque nella cartella immagini mi esce anche il file Thundeb (o una cosa del genere...).db, lo devo lasciare?
    Ultima modifica di hotmailmsnworld : 17-11-2007 alle ore 21.50.25

  16. #16
    Ospite Guest

    Predefinito

    Utilizzare il secondo script non cambierà la situazione, il sistema utilizzato è lo stesso, il formato deve essere comunque uguale all'estensione.

    Hai otto immagini con estensione .png nella cartella? Va benissimo, devi solo controllare che anche il formato delle stesse sia PNG.

    Se non sai come fare, linkami le immagini in privato che controllo io.

    Per ora provvedi ad eliminare il file thumbs.db, che è sicuramente una delle fonti del problema.

    Se hai altri files che non siano immagini nella stessa directory, elimina anche quelli.

    Se hai altri problemi posta pure.

    Ciao!

  17. #17
    Guest

    Predefinito

    Già provato, non vambia niente.

Regole di scrittura

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