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

    Far estrarre ad una pag php dati di un txt a caso

    Salve....mi spieghereste come faccio a far estrarre da un file txt con vari nomi, questi a casaccio??Grazie!
    Cioè, l'ho già letto e mi pare che bisogna usare "random"..ma non ricordo dove l'ho letto

  2. #2
    potresti semplicemente aprire la directory in cui hai i file, utilizzando un ciclo in base al numero di file rilevati.....accodi tutti i nomi in un array e poi randomizzi il numero di posizione nell'array.

  3. #3
    Grazie!!Ma c'è una guida per tutto questo? Allora dovrei raggruppare tanti file.txt quanti sono i nomi che voglio sviluppare a caso...Utilizzo un qualcosa che me li prenda e poi uso il random...il peccato è che è da poco che sto "studiando" php e soprattutto SQL....mi spieghi?

  4. #4
    Originariamente inviato da peo91919
    Grazie!!Ma c'è una guida per tutto questo? Allora dovrei raggruppare tanti file.txt quanti sono i nomi che voglio sviluppare a caso...Utilizzo un qualcosa che me li prenda e poi uso il random...il peccato è che è da poco che sto "studiando" php e soprattutto SQL....mi spieghi?
    una cosa tipo

    codice:
    $dir = 'nome_tua_directory';
    
    $nomi_file = array();//creo l'array che conterrà tutti i nomi dei files
    
    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
    			$nomi_file[] = $file;//accodo nell'array tutti i nomi dei files
            }
        }
        closedir($handle);
    }
    
    $tot_files = count($nomi_file);//conta il numero di file nell'array
    così ottieni :

    $tot_files che contiene il totale dei file txt che metti nell cartella

    nell'array $nomi_file ti ritrovi tutti i nomi dei file

    a questo punto basta aprire il file estrapolandone il nome a caso dall'array, tipo

    $nomi_file[rand($tot_files)];

    fai delle prove

  5. #5
    Grazie mille adesso ci provo!

  6. #6
    Originariamente inviato da peo91919
    Grazie mille adesso ci provo!
    prego

  7. #7
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>ESTRAZIONE!</title>
    </head>
    
    <body>
    LA MAPPA SCELTA E':
    <?
    $dir = 'mappe';
    
    $nomi_file = array('map1.txt','map2.txt','map3.txt','map4.txt','map5.txt','map6.txt','map7.txt','map8.txt','map9.txt','map10.txt');//creo l'array che conterrà tutti i nomi dei files
    
    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
    		$tot_files = count($nomi_file);//conta il numero di file nell'array
    		$nomi_file[rand(1,10)] = $file;//accodo nell'array tutti i nomi dei files
         
       }
        }
        closedir($handle);
    }
    
    ?>
    
    <?php
    echo ("buon divertimento!")
    ?>
    </body>
    </html>
    Mi sa che non c'ho capito niente!

  8. #8
    SIIIIIIIIIII!! Ce l'ho fatta in questo modo :
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>ESTRAZIONE!</title>
    </head>
    
    <body>
    LA MAPPA SCELTA E':
    <?
    $num=rand(1,10);
    print("mappe/map".$num.".txt");
    ?> 
    
    
    <?php
    echo ("buon divertimento!")
    ?>
    </body>
    </html>
    Grazie di tutto!!!

  9. #9
    così

    codice:
    $dir = 'mappe';
    
    $nomi_file = array();//creo l'array che conterrà tutti i nomi dei files
    
    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
    			$nomi_file[] = $file;//accodo nell'array tutti i nomi dei files
            }
        }
        closedir($handle);
    }
    
    $tot_files = count($nomi_file);//conta il numero di file nell'array
    
    $n = rand(0, $tot_files-1);
    
    echo 'mappe/'.$nomi_file[$n];
    dando per scontato che la tabella "mappe" sia nella stessa cartella del file php, altrimenti devi mettere il percorso giusto

    copia e incolla, vedrai che ti stampa a video il percorso cartella + nome file txt a caso

  10. #10
    Originariamente inviato da peo91919
    SIIIIIIIIIII!! Ce l'ho fatta in questo modo :
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>ESTRAZIONE!</title>
    </head>
    
    <body>
    LA MAPPA SCELTA E':
    <?
    $num=rand(1,10);
    print("mappe/map".$num.".txt");
    ?> 
    
    
    <?php
    echo ("buon divertimento!")
    ?>
    </body>
    </html>
    Grazie di tutto!!!
    mettendo rand(1,10), se i file sono di + sei limitato

    prova quello che ti ho postato sopra


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.