Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Dovrei "splittare" un file txt corposo in tanti piccoli file txt leggerissimi...

    Ho un file txt corposo di TOT righe... es. 600 vorrei con un apposito script "splittarlo" in tanti files txt aventi ciascuno ad esempio solo 6 righe rispetto al file originante... fino a ricostituirlo tutto...

    es...
    file600.txt

    ->OPERAZIONE SPLITTA...<-

    file1.txt -> le prime 6 righe di file600.txt
    file2.txt -> le seconde 6 righe di file600.txt
    ecc...
    fino a.. (secondo l'es.)
    file100.txt -> le ultime 6 righe di file600.txt

    Mi servirebbe sapere anche il tempo di esecuzione della pagina php.

    Grazie


  2. #2

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Letto... ma...

    Sono riuscito solo ad avere 3 files copia esatta dell'originante... mentre ciascuno dovrebbe avere solo un terzo delle righe.. fino a ricostituirlo tutto... "splittato" in 3 files appunto...

    Questo il cod:

    Codice PHP:

    //CREO FILE...

    //.....

    $righe=30;
    for (
    $contatore=1;$contatore<($righe+1)/10;$contatore++) {

    $filename "file".$contatore.".txt";
    //questa volta in scrittura
    $report fopen($filename"w");

    //$ic = 0;
    $ic_max 10;  // stops after this number of rows
    $handle fopen("file30.txt""r");
    while (!
    feof($handle)) {
       
    $buffer fgets($handle4096);
       
    $buffer trim($buffer);
       echo 
    $buffer."
    "
    ;

    //CREO RIGHE NEL FILE 
    $report fopen($filename"a");
    //scrivi il contenuto
    fwrite($report"$buffer\r\n");
    //chiudi il tutto
    fclose($report);
      
    }
    fclose($handle);


    Grazie se puoi darmi una mano nel capire come riportare in ogni file solo 10 righe alla volta del file originante...

  4. #4
    Non è molto difficile, ci puoi anche arrivare da solo.

    E' sufficiente che utilizzi una variabile contatore (es. $i) e creare il nome del file secondo il resto di $i modulo 10 (se 10 è il numero di righe che vuoi inserire in ogni file).

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ci ho provato e riprovato... ma...

    Originariamente inviato da filippo.toso
    Non è molto difficile, ci puoi anche arrivare da solo.

    E' sufficiente che utilizzi una variabile contatore (es. $i) e creare il nome del file secondo il resto di $i modulo 10 (se 10 è il numero di righe che vuoi inserire in ogni file).
    questo modulo (%) e il suo inserimento all'interno del codice sopra postato proprio non mi entra in testa...

    Grazie a chiunque mi potrà postare il codice risolutore al mio quesito in testa al thread,
    che riporto per comodità in forma semplificata.. anche qui..

    In pratica ho un file txt di 9 righe
    vorrei poterlo "splittare" suddividere... in 3 files da 3 righe ciascuno.
    I tre files finali dovranno essere nel complesso uguale al primo file di 9 righe e avere ognuno 3 righe dello stesso prese in modo consecutivo...

    es.
    il primo file avrà le prime 3 righe del file di 9 righe
    il secondo file avrà le seconde tre righe del file di 9 righe
    il terzo e ultimo file avrà le terze e ultime righe del file di 9 righe

    Grazie a tutti/e


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.