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

    Cancellare righe di file txt

    Salve a tutti.
    Il mio problema è sicuramente banale, tuttavia data la mia ignoranza chiedo lumi agli esperti.
    Ho un file txt contenente un elenco di mail: ora io devo cancellare i primi 50 record e aggiornare il file (che quindi non dovrà più contenere i primi 50 record).
    Qualcuno ha uno straccio di codice utile allo scopo?
    Ringrazio in anticipo chiunque abbia cinque minuti da dedicarmi.

  2. #2
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    http://it2.php.net/manual/en/function.file.php metti le righe in un array, a quel punto puoi farci quello che vuoi

  3. #3
    Nel frattempo ho risolto così:

    Codice PHP:
    $textfile fopen("pippo.txt","r");
    $textfile_new fopen("pippo_new.txt","a");
    $contenuto_arr2=file("pippo.txt");

    $numerorighe count(file("pippo.txt"));

    for (
    $x="50"$x<="$numerorighe"$x++) {
    $campo "$contenuto_arr2[$x]";
    fwrite($textfile_new$campo);
    }

    fclose($textfile);
    fclose($textfile_new);

    unlink("pippo.txt");
    rename("pippo_new.txt","pippo.txt"); 

  4. #4
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Originariamente inviato da Teomondo
    Nel frattempo ho risolto così:

    Codice PHP:
    $textfile fopen("pippo.txt","r");
    $textfile_new fopen("pippo_new.txt","a");
    $contenuto_arr2=file("pippo.txt");

    $numerorighe count(file("pippo.txt"));

    for (
    $x="50"$x<="$numerorighe"$x++) {
    $campo "$contenuto_arr2[$x]";
    fwrite($textfile_new$campo);
    }

    fclose($textfile);
    fclose($textfile_new);

    unlink("pippo.txt");
    rename("pippo_new.txt","pippo.txt"); 
    Ma...
    - apri pippo.txt e non lo usi
    - cambi tutti i numeri in stringhe.... perché?
    - non hai bisogno di creare 2 file e poi cancellarne uno e rinominare l'altro

  5. #5
    Ripeto, sono ignorante e il codice che ho postato mi funziona, quindi potrei anche essere soddisfatto.
    Tuttavia, dici che apro pippo.txt e non lo uso: per fare l'array posso evitare di aprirlo?
    (ripeto, non mi occupo di informatica e non ci capisco un acca, vado a spanne).
    Non capisco, per mio limite, la seconda osservazione.
    Creare due file mi serve, se no come dovrei fare?
    Grazie per i suggerimenti.

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Quello che garakkio voleva dire è che:

    Codice PHP:
    $textfile fopen("pippo.txt","r"); 
    ..
    fclose($textfile); 
    Non serve, visto che leggi il file con file();

    Codice PHP:
    for ($x="50"$x<="$numerorighe"$x++) {
    $campo "$contenuto_arr2[$x]";
    fwrite($textfile_new$campo);
    }

    Diventa

    for ($x=50$x<=$numerorighe$x++) {
    $campo $contenuto_arr2[$x];
    fwrite($textfile_new$campo);

    Nel devi mettere 50, $numerorighe e $contenuto_arr2[$x] tra gli apici. tra l'altro php i primi due li riconverte in interi.

    Visto che hai letto il contenuto di pippo.txt ed è salvato in $contenuto_arr2, puoi sovrascrivere direttamente pippo.txt, senza usare un file di appoggio.

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.