Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514

    fwrite - Scrivere in una determinata posizione

    Salve,
    avrei bisogno di sapere se è possibile mediante php è possibile scrivere in una determinata posizione di un file.

    Un esempio banale potrebbe essere la modifica di un file xml

    <xml>
    testo
    testo aggiunto....
    </xml>

    io devo scrivere dopo testo

    ciao e grazie
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  2. #2

  3. #3
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    grazie filippo,
    era quello di cui avevo bisogno. non sapevo con esattezza il nome della funzione da utilizzare. ero certo che qui qualcuno avesse gia lavorato con i file

    grazie ancora e ciao

    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    allora ho un problemino

    ho letto la guida di fseek e ho scritto il seguente codice

    Codice PHP:

    $a 
    fopen('ciro.xml',"r+");
    fseek($a,-21,'SEEK_END');
    fwrite($a,"pippo\n");
    fclose($a); 
    21 byte è la dimesione del testo , in termini di byte, che si trova alla fine del file prima del quale voglio inserire del testo

    quindi nel mio file ho
    codice:
    testo1
    testo2
    testo3
    (qui devo inserire il nuovo testo)
    ..21 byte di testo
    leggendo la guida di fseek esce fuori che il file deve essere aperto in modalità r+ perchè se lo apro con append, il cursore si posiziona sempre alla fine del file. se lo apro con r+ però mi sovrascrive il testo

    come posso rimediare?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    non puoi inserire del testo in una posizione che non sia alla fine del file. Devi caricare il file in memoria e riscriverlo nella versione corretta.
    ciao
    sergio

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    e se ci sono file di 20 mega li si riscrivono tutti?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    è per questo motivo che i database utilizzano gli indici che sono piccoli file leggeri da modificare.
    Gli inserimenti li fanno appendendo i dati in coda e l'ordine dei dati viene mantenuto dagli indici.
    Puoi comunque scrivere in una data posizione del file ma, ripeto, non inserire.
    ciao
    sergio

  8. #8
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ok ti ringrazio

    ciao
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.