Visualizzazione risultati 1 fino 3 di 3

Discussione: Come creare?

  1. #1
    Guest

    Predefinito

    Ciao ragazzi, vorrei sapere come creare un file di testo e farlo leggere dalla pagina php, come fosse un database.....
    Mi proteste scrivere il codice uttilizzando la fopen, fclose, fwrite fread...?
    Se esistono sto appena imparando ad fare i siti gratuiti mà mi manca la programmazione ......

    Mi potete dare un consiglio ????

    Ciao A Tutti

  2. #2
    radaweb non è connesso Utente giovane
    Data registrazione
    17-05-2003
    Messaggi
    53

    Predefinito

    Beh la sintassi specifica non me la ricordo, non programmo in PHP da mesi.
    Cmq su php.net puoi vedere come si usano tutte le funzioni e molte parti della guida esistono anche in italiano.

    Dal momento che quella dei file di testo è una soluzione che adotto anch'io vorrei darti un paio di dritte:

    - se devi leggere tutte le righe usa:

    $righe_del_file = file("nomefile");

    - una volta fatto questo ti consiglio un ciclo for che elimini il carattere 'a capo' da ogni riga:

    for($i = 0; $i < sizeof($righe_del_fil); $i++)
    $righe_del_file[$i] = trim($righe_del_file[$i];

    (come puoi vedere sizeof(vettore) restituisce la sua lunghezza)

    - infine, se usi il file come coppie 'chiave valore', per intenderci:
    qualcosa1 10
    qualcosa2 20
    qualcosa3 35

    Allora la funzione explode() usata con parametri opportuni ti permeterà di dividere i valori in variabili diverse.

    Buon divertimento
    Ultima modifica di radaweb : 18-09-2004 alle ore 23.35.36
    It's always a good day to code

  3. #3
    Guest

    Predefinito

    $fd = fopen($nomefile, "r") or die("Non posso aprire il file $nomefile");
    $fstring = fread($fd, filesize($nomefile));
    fclose($fd);
    $Testo_Da_File = explode("\n", $fstring);


    ricorda che $nomefile è comprensivo di percorso assoluto (nel caso di altervista "/membri/[TUO_NOME]/[percorso nel sito]/nome del file")
    Ciò che ottieni in questo modo è un array $Testo_Da_File che ha in ciascun elemento una riga del file di testo. Se vuoi che ogni riga del file sia una sorta di "record" puoi usare dei separatori convenzionali per condensare tutti i campi in una medesima riga, separati appunto dal separatore da te scelto. Esempio, se scegli "****" avrai:

    $Testo_Da_File[0] -> riga 0 del file -> record 0 del database -> campo0****campo1****campo2****campo3

    Supponiamo che:
    campo0 sia "Nome"
    campo1 sia "Cognome"
    campo2 sia "Indirizzo"
    campo3 sia "email"

    esempio:
    $Testo_Da_File[0]="Mario****Rossi****Via Bianchi, 1****mario_rossi@bianchi.it"

    puoi usare nuovamente la funzione explode creando un array multidimensionale, in cui il primo indice è il numero di riga, ovvero l'indice di record, mentre gli indici successivi sono i nomi di campo:

    foreach $Testo_Da_File as $num_riga => $testo_riga {
    $campi = explode($testo_riga, "****");
    $Campo_da_riga[$num_riga]["Nome"] = $campi[0];
    $Campo_da_riga[$num_riga]["Cognome"] = $campi[1];
    $Campo_da_riga[$num_riga]["Indirizzo"] = $campi[2];
    $Campo_da_riga[$num_riga]["email"] = $campi[3];
    }


    a questo punto per recuperare i dati, se sai l'indice di record e il nome del campo è un attimo:
    print $Campo_da_riga[0]["Nome"] . " ". $Campo_da_riga[0]["Cognome"] . "(" .$Campo_da_riga[0]["email"] . ")";

    ed otterrai: Mario Rossi (mario_rossi@bianchi.it)

Regole di scrittura

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