Visualizzazione risultati 1 fino 5 di 5

Discussione: esiste funzione x eliminare linee da file?

  1. #1
    Guest

    Question esiste funzione x eliminare linee da file?

    Immaginate un file contenete stringhe che pian piano si allunga sempre più:

    ...
    stringa45
    stringa46
    stringa47
    atringa48
    ...

    Per evitare che diventi troppo grande, vorrei ad un certo punto eliminare le prime N linee.

    Sì, potrei caricare il file in un array ecc. ecc. però visto che nel PHP c'è già tutto mi chiedevo se ci fosse già qualcosa di pronto.

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    nope, purtroppo ti tocca caricare il file, andare giù di array_slice e poi risalvarlo.

  3. #3
    Guest

    Predefinito

    Io avrei fatto:

    Codice PHP:
    $file = file("prova.txt");

    unset(
    $file[5]); // rimuovo la linea 4 (si parte da 0)

    $src = join("\n", $file); // prendo il sorgente

    $fp = fopen("prova.txt", "w");
    fwrite($fp, $src); // e salvo il file...

    fclose($fp);
    Se preferisci creare una funzione puoi farlo semplicemente...

    Saluti!

  4. #4
    Guest

    Predefinito

    Qualcuno sa quanti elementi al max può contenere un array?

    Se ad. es carico in ogni elemento stringhe da circa 100 caratteri... quanti elementi potrò creare al max? 1000, 10000, ... ?

  5. #5
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Dipende dal limite di memoria assegnato agli script, che puo verificare con la funzione phpinfo().

    L'operazione di lettura e scrittura richiederebbe però un certo tempo di esecuzione, e questo potrebbe rallentare il caricamento delle tue pagine. Quindi meno dati devi maneggiare ogni volta, e più piccolo è l'array, meglio è.

    Se hai una grossa mole di dati da gestire in quel modo, forse devi ripensare il sistema.

Regole di scrittura

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