Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Array da file txt

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    3

    Array da file txt

    Salve a tutti, avrei la necessità di estrarre delle informazioni da un file txt e metterle in un array per gestire un sistema di amministrazione. Al momento lo faccio a mano ma la volontà sarebbe questa:

    Il file.txt viene scritto dall'area di amministrazione con queste informazioni, una per ogni riga:
    --- file.txt -------
    mario,rossi
    paolo,bianchi
    andrea,verdi
    gianni,neri
    ---------------

    Mentre poi dalla index.php dopo aver letto il file con il normale
    fopen("file.txt", "r");

    dovrei riuscire a leggere le informazioni e crearmi l'array di questo tipo

    $valid_info = array ("mario" => "rossi", "paolo" => "bianchi", "andrea" => "verdi", "gianni" => "neri");

    cosi che si riesca poi a gestirlo.
    La difficoltà che incontro è proprio nell'estrarre le coppie di info (mario e rossi) e posizionarle nell'array come sopra.

    Grazie per l'aiuto.

  2. #2
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    $arrayNC=array();
    $nomeCognome=explode(",",$line);
    $arrayNC[$nomeCognome[0]]=$nomeCognome[1];


    Secondo me ti conviene fare una matrice.

    $arrayNC=array();

    $arrayNC['nomi']=array();

    $arrayNC['cognomi']=array();

    $fp = fopen($filename, "r");
    while ($line = fgets($fp))
    {
    $fields_contents = str_replace("\r", "", $line);
    $fields = explode(",", $fields_contents);
    array_push($arrayNC['nomi'], $fields[0]);
    array_push($arrayNC['cognomi'], $fields[1]);
    }
    ...altri 5 anni di purga...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    3

    Altra soluzione

    Ciao Alpeweb e grazie per la veloce risposta.

    C'ho lavorato subito dietro all'idea di usare le matrici che infatti è la soluzione ottimale ma riscontrando qualche problema sulla lettura delle righe sucessive \r e anche \n, (infatti mi tiene solo l'ultima riga: gianni, neri)

    --- file.txt -------
    mario,rossi
    paolo,bianchi
    andrea,verdi
    gianni,neri
    ---------------

    ho cambiato strategia e funziona benone.


    Faccio scrivere tutte le informazioni su un unica riga

    --- file.txt -------
    mario,rossi|paolo,bianchi|andrea,verdi|gianni,neri
    ---------------

    e attraverso questo mi faccio i controlli e quindi la gestione

    $arrayNC=array();
    if(!($fp = fopen("file.txt", "r"))) die ("Impossibile aprire il file");
    $riga = fgets ($fp);
    fclose($fp);

    $Identificativi = explode("%", $riga);
    sort($Identificativi);

    foreach($Identificativi as $Identificativi_da_Controllare) {
    $fields = explode("|", $Identificativi_da_Controllare);
    $arrayNC[$fields[0]]=$fields[1];
    }

    Spero di non deprecare nulla visto che il tutto funziona egregiamente.

    Se hai qualsiasi considerazione ti prego di scrivermela, grazie mille.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.