fopen - l'attributo 'r+' si comporta uguale a 'w+' perchè?

  • Creatore Discussione Creatore Discussione max_400
  • Data di inizio Data di inizio

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Devo aggiungere delle righe ad un file... di solito ho sempre usato l'attributo 'a+' che scrive in fondo al file di testo....
Ma sta volta per il lavoro che devo fare, mi serve l'opposto,
cioè scrivere ad inizio file senza sovrascrivere il contenuto.

Pensavo di usare l'attributo r+ ma esso mi cancella la prima riga.
Facendo una ricerca su google ho visto che anche altre persone hanno avuto il mio stesso problema

http://forum.it.altervista.org/php-mysql-e-file-database/89629-php-problema-fopen-r.html
in questa discussione un moderatore dreadnaut esprime esattamente l'uso dell'attributo r+
 
Dunque, dal manuale di PHP si evince che la modalità r+ inserisce il puntatore all'inizio del file, mentre la modalità w+ cancella il contenuto del file ed inserisce il puntatore all'inizio, e se il file non esiste lo crea. Quindi non ho capito: qual è il problema?
 
ciao gighen

purtroppo le cose non vanno come da manuale

l'attributo 'r+' posiziona il puntatore di scrittura al punto 0 cioè ad inizio file e scrive andando a sovrascrivere quello che già c'è.

Se io inserisco qualkosa di breve cancella soltanto le prime parole della prima riga
ma il resto si vede.

Invece l'attributo 'w+' cancella completamente tutto il file... e posiziona il puntatore all'inizio.

Proprio come dice dreadnaut il moderatore di altervista
 
In effetti le cose stanno proprio così, con r+ ti posizioni esattamente all'inizio della riga, quindi quando si tratta di sovrascrivere va per sovrapposizione.
 
ci sono riuscito ragà... tutto a posto!

era necessario prima leggere il file e poi sovrascrivere con 'w+'

ecco qua il risultato:
http://maxgiulia.altervista.org/max/08-agosto/textarea/prova/deposito.php
(l'ultima discussione era javascript ed è stata messa al primo posto)

ecco qui il form:
http://maxgiulia.altervista.org/max/08-agosto/textarea/prova/form2.html
(se provate a scrivere qualkosa... tipo una frase o quello che volete... essa sarà al primo posto)

Tanto è un file di prova
manca solo la data e l'ora

PS: discussione conclusa.
au revoir - by max :elvis:
 

Discussioni simili