Visualizzazione dei risultati da 1 a 9 su 9

Discussione: frase random da txt

  1. #1

    frase random da txt

    Ciao a tutti.. io stò tentando di creare una pagina in php! vorrei che nella pagina mi visualizzi ad ogni accesso una frase diversa. ho un file txt con le frasi. Il codice che ho usato è questo:

    Codice PHP:
    <blockquote>
    <span class="special-quote">&ldquo;</span>
    <?php
    $fn 
    "frasi.txt";
    $righe=file($fn);
    $k array_rand($righe);
    $random $righe[$k];
    ?>
    <span class="special-quote">&bdquo;</span>
    </blockquote>
    Ma non mi visualizza niente! che ho sbagliato?
    Mentre, se dovessi fare testi un po' più lunghi da visualizzare random sulla pagina, non posso scrivere nel file di testo tutte le mie frasi separate da un simbolo (ex: | oppure § - tanto da separare) e con un codice php si potrebbe visualizzare la frase da simbolo a simbolo?
    Spero di essere stato chiaro.. aspetto notizie! grazie mille!
    L'uomo nero non è morto, ha gli artigli come un corvo, fa paura la sua voce, prendi subito la croce, apri gli occhi ,resta sveglia, non dormire questa notte..

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    fai l'assegnazione ma non l'echo.

    e poi $k dovrebbe già contenere una linea random, perchè $righe è un array composto dalle linee del file e array_rand restituisce un elemento dell'array.

    Quindi l'assegnazione a $random è errata, basta che sostituisci quella linea con :

    echo $k;


  3. #3
    eh già.. il codice l'avevo preso da qualche parte in internet e modificato a mio utilizzo.. mi ero dimenticato dell'echo.. cmq mi restituisce "0" (zero), ma non le frasi.. why this?
    Codice PHP:
    <?php
    $fn 
    "messaggi.txt";
    $righe=file($fn);
    $k array_rand($righe);
    echo 
    $k;
    ?>
    L'uomo nero non è morto, ha gli artigli come un corvo, fa paura la sua voce, prendi subito la croce, apri gli occhi ,resta sveglia, non dormire questa notte..

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non saprei, il percorso del file è corretto?
    il file contiene qualcosa?

    ciao

  5. #5
    il file si trova nella stessa cartella del file php, mentre nel file ho scritto le frasi che mi interessavano.. ma non funziona.. secondo voi, altre soluzioni?
    L'uomo nero non è morto, ha gli artigli come un corvo, fa paura la sua voce, prendi subito la croce, apri gli occhi ,resta sveglia, non dormire questa notte..

  6. #6
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    Codice PHP:
    <?php
    $fn 
    "messaggi.txt";
    $righe=file($fn);
    $k array_rand($righe);
    echo 
    $righe[$k];
    ?>
    andava bene prima... array_rand senza secondo argomento restituisce un indice posizionale (o chiave), diversamente restituisce un array di chiavi.

  7. #7
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    che poi sono sempre più stupito dall'inutilità di una funzione come la array_rand, almeno per quanto riguarda la sua chiamata senza secondo argomento... eppure sarebbe bastato fargli restituire il contenuto e non l'indice in entrambi i casi...

    Se nel caso di secondo argomento mi può essere utile un array di chiavi, nell'altro è inutile, tantè che, sfruttando l'esempio sopra, non c'è nessuna differenza nel fare:

    Codice PHP:
    <?php
    $fn 
    "messaggi.txt";
    $righe=file($fn);
    echo 
    $righe[rand(0count($righe)-1)];
    ?>

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    bhe forse se hanno fatto la funzione apposita è anche perchè è + veloce nei tempi di risposta ... non trovi?

    secondo quello che dici basterebbero 4 funzioni per fare tutto a furia di cicli if e for...

  9. #9
    grazie gianiaz e lak3d per le risposte.. il codice funziona, ma a video mi restrituisce solo la prima riga del file messaggi.txt.. non cambia la frase..
    L'uomo nero non è morto, ha gli artigli come un corvo, fa paura la sua voce, prendi subito la croce, apri gli occhi ,resta sveglia, non dormire questa notte..

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.