Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    39

    Modificare una precisa stringa di un file txt

    Ho un piccolo file.txt che gestisco come fosse un database semplicistico, con una sintassi simile:

    Codice PHP:
    $database file("file.txt");
    foreach(
    $database as $stringa)
     echo 
    $stringa

    Praticamente in questo modo $database è un array i cui elementi sono le righe di file.txt
    Scrivendo ad esempio echo $stringa[3], verrà stampata la quarta riga di file.txt

    A volte è necessario modificare una di queste righe con un'altra, e fin'ora ho sempre usato str_ireplace con risultati soddisfacenti, con la seguente sintassi:

    $id è il numero di riga che mi serve modificare
    Codice PHP:
    $database str_ireplace($database[$id], "nuova frase"$database);
    // Successivamente aggiorno file.txt
    file_put_contents("file.txt"$database); 

    Il problema è che in questo modo se la stringa $database[$id] è identica a qualsiasi altra stringa posizionata su altre righe, verranno modificate tutte insieme.
    Quindi se avessi ad esempio questo file.txt:

    codice:
    Lorem ipsum dolor sit amet
    consectetur adipiscing elit
    Nullam vestibulum molestie
    Aenean urna purus, imperdiet
    Nunc finibus nulla ac tempor
    Aenean metus nibh, rhoncus
    Nullam vestibulum molestie
    rhoncus mi id risus blandit molestie
    eget diam vitae, consectetur

    ...E volessi modificare la stringa $database[2] ossia "Nullam vestibulum molestie" verrebbe modificata anche la stringa $database[6] poiché identiche.

    Sapreste indicarmi un modo sempre funzionante che mi permetta di modificare solo la stringa alla posizione che a me interessa, lasciando eventuali doppioni invariati?
    Ultima modifica di Johell; 20-01-2016 a 22:43

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    $database[$id] = "nuova frase";
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    39
    Tieni presente che a me serve prendere tutto il file e aggiornare file.txt in questo modo:

    Codice PHP:
    file_put_contents("percorso_server"$database); 

    Quindi la tua soluzione non funziona.



    EDIT:
    Ops, avevi ragione. Funziona perfettamente grazie 1000!
    Ultima modifica di Johell; 20-01-2016 a 22:55

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Lo sapevo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.