Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14

    Come si scrive un file in un punto preciso?

    Vorrei sapere, dato un file esistente, è possibile scrivere in un punto preciso lasciando invariato il contenuto seguente?

    Esempio:

    Voglio scrivere dove metto il trattino nella frase
    "ciao_come ti chiami"
    e voglio inserire la frase " tu " all'interno, facendola diventare:
    "ciao_ tu come ti chiami"

    Scrivere alla fine di un file è relativamente semplice; basta usare fopen con l'opzione a+
    E per scrivere in mezzo ad un file?

    Grazie in anticipo per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    esiste la funzione fseek

  3. #3
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14
    grazie per la risposta rapidissima, ma se poi faccio un fwrite avrò il file sovrascritto: va in overwrite.

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    effettivamente ci ho provato e non mi ha funzionato, credo che l'unica sia leggerlo e riscriverlo, ma attendiamo altre risposte di maggiori esperti

  5. #5
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14
    bstefano mi stai proprio simpatico.
    Mi stai simpatico perché sei umile e solo gli umili imparano (e quindi SANNO).
    Gli sbruffoni ed i gradassi fanno finta di sapere, ma in realtà sanno poco meno di una mazza!

    Grazie per l'aiuto fin'ora datomi!

  6. #6
    Leggi il contenuto del file, lo modifichi e lo risalvi. Non puoi aggiungere caratteri ad un file se non in coda.

  7. #7
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14
    Fin qui c'ero, ma come devo fare?

  8. #8
    Dipende dal criterio secondo il quale devi effettuare la sostituzione.

    Stando al tuo esempio:
    Codice PHP:
    $testo file_get_contents('nomefile.txt');
    $testo str_replace('_''_ tu '$testo);
    file_put_contents('nomefile.txt'$testo); 

  9. #9
    Utente di HTML.it L'avatar di chiedo
    Registrato dal
    Feb 2011
    Messaggi
    14
    MMmmmm modificare files complessi non sarà semplicissimo. Vediamo cosa riuscirò a tirarne fuori.
    Comunque grazie mille, il tuo aiuto è arrivato tempestivamente!

  10. #10
    Se sai a priori le "regole" di ricerca e sostituzione, puoi usare qualcosa tipo
    codice:
    $sostituto_nome = $_POST["Nome"];
    $sostituto_cognome = $_POST["Cognome"];
    $testo = file_get_contents('template_testo.txt'); 
    $testo = str_replace('', $sostituto_nome, $testo); 
    $testo = str_replace('', $sostituto_cognome, $testo); 
    file_put_contents('lettera_{$sostituto_cognome}_{$sostituto_nome}.txt', $testo);
    Ovvero ti crei il file con i marcatori o "segnaposto" e li sostituisci come desritto, così se una volta ci devi scrivere "carlo" e un'altra volta ci devi scrivere "mario", ti basta usare il file di template (quello coi marcatori, es template_lettera.txt) e salvarlo come "lettera_mario.txt" ...

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.