Newsgroup: it.comp.www.php
Titolo: scrittura file

C'è modo di scrivere all'interno di un file di testo, dove si vuole? magari 
tra la 2° e la 3° riga, e non accodare a fine file? 

 magari tra la 20 e la 30 riga, e non accodare a fine file? 
Il manuale, questo sconosciuto ...
http://www.php.net/fseek
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

orca.. avevo letto sul web alcuni post ke non si poteva fare e lo avevo dato 
per scontato..
e se io ho il numero di riga, come faccio a rivare i byte che mi permettono 
di posizionarmi alla fine della suddetta riga? 

 permettono di posizionarmi alla fine della suddetta riga? 
Sei hai le righe di dimensione fissa basta n. righe * byte per riga,
altrimenti leggi un tot di caratteri e conta gli eventuali "a capo".


praticamente una parte del file che devo leggere contiene:
21415*hrafejsfhsfj*24*2432
14*345
24*242
quindi righe di dimensioni diverse.. come faccio a dirgli di posizionarsi 
alla fine della prima? 

Manuel wrote:

procedi leggendo carattere per carattere o utilizzando fgets, contando le
righe fino alla desiderata..
-- 
www.iuz-lab.info

cioè... io uso fgets senza specificare i byte da leggere, quindi lui mi 
legge la riga fino alla fine riga
<Il parametro length è diventato opzionale a partire da PHP 4.2.0, se 
omesso, si assume come lunghezza della linea 1024. <A partire dalla versione 
4.3, l'omissione del parametro length comporta la lettura del flusso 
d'ingresso sino al <raggiungimento della fine della linea. Se la maggior 
parte delle righe lette dal file hanno dimensione superiore a 8KB, è <più 
efficiente specificare la lunghezza massima della linea.
ed ho la 4.3.2... quindi dovrebbe funzionare
ma dopo ke ho letto la prima riga, il puntatore dove si trova? alla fine 
della riga?
perchè provo a scrivere ma non mi scrive niente.. 

Manuel wrote:

io studierei meglio il funzionanamento delle funzioni per la scrittura sui
file..
-- 
www.iuz-lab.info

 magari tra la 2° e la 3° riga, e non accodare a fine file?
Apri il file sorgente in lettura, apri un file in scrittura, leggi dal file
sorgente le prime due righe con fgets e le scrivi sul file temporaneo,
aggiungi tutte le righe che vuoi nel file temporaneo, dalla terza riga in
poi del file sorgente, leggi e scrivi sul file temporaneo.
-- 
Ciao,
 Fabrizio
=== 
http://www.negusweb.it
 ===

non capisco perchč sembra ignorare il comando fputs..
<?
$cat=fopen("2004.txt","r+");
$Ncod=$_GET["Ncod"];
$prova=fgets($cat);
echo "$prova\n";
fwrite($cat,"$Ncod\n");
?>
se tolgo il $prova... e l'echo funziona

mi spiegate il motivo di questa cosa?
non riesco a capire, non sembra avere un senso
<?
$cat=fopen("2004.txt","a+");
$Ncod=$_GET["Ncod"];
$prova1=fgets($cat);
$prova2=ftell($cat);
fputs($cat,"$Ncod\n");
fclose($cat);
?>
cosě non funziona, perchč? se tolgo $prova1 e $prova2 va..

 $cat=fopen("2004.txt","r+");
Se non leggi il manuale difficilmente arriverai da qualche parte, r+
richiede che il file esista.
-- 
I am what I am, I do what I can


 $cat=fopen("2004.txt","a+");
[quoto 
http://www.php.net/fopen
]
'a+' Open for reading and writing; place the file pointer at the end of
the file. If the file does not exist, attempt to create it.
[/quoto]
Se il file pointer e' alla fine del file, non c'e' nulla da leggere.


il file esiste, infatti il codice viene eseguito correttamente fino alla 
echo
<?
$cat=fopen("2004.txt","r+");
$Ncod=$_GET["Ncod"];
$prova1=fgets($cat);
$prova2=ftell($cat);
echo "$prova1 $prova2";
fwrite($cat,"$Ncod\n");
fclose($cat);
?>
mi viene visualizzata a video la prima riga, e la posizione del puntatore 
dopo la lettura, ma non mi scrive nel file il contenuto della variabile 
Ncod... se invece tolgo $prova1, 2 e la echo.. scrive..
questo non capisco, a cosa è dovuto?