Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44

    esportare solo le righe contenenti l'orario da file txt

    Salve a tutti
    ho un file in txt di questo tipo :

    es : file in txt
    Nome : Giovanni
    Data: 10/08/2011

    bla bla bla
    07:01;-;pino;12,1;2,2;
    07:02;-;gino;12,1;2,2;
    07:03;-;antonio;12,1;2,2;
    07:04;-;pino;12,1;2,2;

    Nome : Giovanni
    Data: 10/08/2011

    bla bla bla
    07:06;-;pino;12,1;2,2;
    07:07;-;gino;12,1;2,2;
    07:08;-;antonio;12,1;2,2;
    07:09;-;pino;12,1;2,2;

    Mi occorre "estrapolare" solo le righe contenenti gli orari e lasciar per strada i vari bla bla bla ed intestazioni varie.
    Premetto php alle primissime armi... non prime... primissime.....

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, per prima cosa qui puoi trovare una guida che ti può essere utile per utilizzare il tuo file txt con il PHP, una volta che hai "scaricato" il contenuto del file in una variabile, ti controlli tramite la funzione substr che inizia con la stringa orario.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    Grazie jcsnake

    la funzione substr però mi pare di aver capito che esporta parte di informazioni di una stringa/riga.
    Correggi la mia interpretazione per progettare lo script (considera che questo file txt/log si crea automaticamente ogni giorno)

    - occorre una funzione che prima legga il file, cerchi all'interno tutte quelle righe che iniziano con un valore uguale e maggiore di zero per definire l'orario (es.07:01)
    - queste info/stringhe devono essere esportate all'interno di un database mysql per poi essere interrogato con varie query

    Correct ??

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Corretto, inoltre vedo che ogni riga che inizia per orario è divisa da dei punti e virgola...quindi per estrapolare le informazioni singole puoi utilizzare la funzione explode(";",$riga) che restituisce un array contenente tutte le singole parti.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    Per adesso ho usato questo script che mi preleva l'intero file e me ne crea un altro (sempre in txt) in modo da poterci lavorare :

    <?php
    $datas=date("y-m-d");
    $file =file_get_contents("log/20$datas.log");

    $energiagiorno = "energia/20$datas.txt";
    $fh = fopen($energiagiorno, 'w') or die("can't open file");
    $stringData = "$file";
    fwrite($fh, $stringData);
    fclose($fh);
    //}
    echo "$stringData ,'/n'";


    ?>

    Con questo però trasporto tutto ma vorrei che quel strinData contenesse solo le righe che mi interessano.

  6. #6
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ma tu non hai bisogno di crearti un altro file txt...ogni volta che processi una riga la controllo ci lavori per quello che ti interessa e la inserisci nel database...che te ne faresti di un altro file?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    Dici ?
    Conviene già che mi creo database -> tabella -> campi ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    al momento aperto il file, letto tutto il file,mandato a capo dove necessario e chiuso.

    <?php
    $datas=date("y-m-d");
    $file ="log/20$datas.log";

    $openfile=fopen("$file","r");
    $readfile=fread($openfile,filesize("$file"));
    $acapo=nl2br($readfile);
    fclose($openfile);
    echo $acapo;

    ?>

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    Ora il problema è come inserire nel database i dati le cui righe non hanno una logica visto che si varia da intestazioni a informazioni su fasce orarie.

  10. #10
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Originariamente inviato da danie77
    al momento aperto il file, letto tutto il file,mandato a capo dove necessario e chiuso.

    <?php
    $datas=date("y-m-d");
    $file ="log/20$datas.log";

    $openfile=fopen("$file","r");
    $readfile=fread($openfile,filesize("$file"));
    $acapo=nl2br($readfile);
    fclose($openfile);
    echo $acapo;

    ?>
    Se non capisco male, in questo script hai stampato a video tutto il contenuto del file con i dovuti "a capo" giusto?

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.