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

    modifica di un file di testo.

    Ho provato alcune soluzioni ma da qualche parte si incastrano e rischio troppo che lo script combini danni al posto di risolveri.

    Sto cercando di fare uno script che modifica un file di testo. Deve riconoscere una determinata stringa e scrivere nella riga di quella stringa.

    Esempio, file di testo esempio.txt
    $var1=0
    $var2=1
    $var3=5
    $var4=129

    ho bisogno che per esempio lo script modifichi il valore di $var3 in '500', per cui quando trova una riga che inizia con '$var3' la sostituisca con '$var3=500'.
    Ho semplificato al massimo il file di testo da modificare, purtroppo non posso portare tutto su db in quanto il file di testo è il file di config. di un altro software......
    C'è un modo semplice e indolore per fare questa cosa in php ?

    un grazie in anticipo a chi mi può dare una mano

  2. #2
    Sinceramente non so come si fa a sostituire una riga in un file.
    Mi viene in mente, però, questa idea.

    Supponiamo il tuo file si chiami config.ini. Prendi tutto il contenuto del file e lo metti in un array.

    $mio_file = file ('config.ini');

    Ogni elemento del vettore $mio_file corrisponde ad una riga del file, con il carattere di newline ancora inserito.

    Dopo di ché con un ciclo ti scandisci ogni riga:

    foreach($mio_file as $line_num => $data_line)
    {
    ........ a questo punto vedi se questa è la riga in cui devi modificare qualcosa, se si:

    $mio_file[$line_num] = "NUOVA_RIGA";
    }


    A questo punto elimini il file config.ini o lo rinomini in old_config.ini

    Crei un nuovo file in scrittura che lo chiami config.ini e gli inserisci tutto il contenuto dell'array.

    Spero di esserti stato di aiuto.

  3. #3
    Originariamente inviato da gianf_tarantino
    Sinceramente non so come si fa a sostituire una riga in un file.
    Mi viene in mente, però, questa idea.

    Supponiamo il tuo file si chiami config.ini. Prendi tutto il contenuto del file e lo metti in un array.

    $mio_file = file ('config.ini');

    Ogni elemento del vettore $mio_file corrisponde ad una riga del file, con il carattere di newline ancora inserito.

    Dopo di ché con un ciclo ti scandisci ogni riga:

    foreach($mio_file as $line_num => $data_line)
    {
    ........ a questo punto vedi se questa è la riga in cui devi modificare qualcosa, se si:

    $mio_file[$line_num] = "NUOVA_RIGA";
    }


    A questo punto elimini il file config.ini o lo rinomini in old_config.ini

    Crei un nuovo file in scrittura che lo chiami config.ini e gli inserisci tutto il contenuto dell'array.

    Spero di esserti stato di aiuto.
    grazie mille, ho fatto in modo un po diverso ma mi hai comunque dato uno spunto

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.