Ciao a tutti,
vorrei scrivere solo una parte di un file di testo senza dover riscrivere tutto il file ...avete qualche idea???
Ciao a tutti,
vorrei scrivere solo una parte di un file di testo senza dover riscrivere tutto il file ...avete qualche idea???
Qui c'è quello che ti serve
http://it2.php.net/manual/it/function.fopen.php
Non intendevo scrivere un file 'da capo' ma volevo modificare solo una riga di un file....
Com'è costruito il file che vuoi modificare?Originalmente inviato da toninosite
Giusto per andare direttamente al problema
ESEMPIO
riga1: toninosite
riga2: sito
riga3: file
io vorrei riscrivere a prima riga senza cancellare le altre quindi
riga1: toninosite
riga2: sito
riga3: nuovofile
Cioè vorresti che una riga x diventi y ?
Con il file strutturato ad esempio così:
ID_RIGA|NUM_RIGA|CONT_RIGA|\n
Così puoi modificare qualsiasi riga!Codice PHP:
<?
$id_riga = $_GET['id_da_modificare']; //ricavo l'id della riga da modificare in qualche modo (in questo caso lo prendo dall'url)
$file = file("file.txt");
foreach($file as $rigo) { //Scorro il file
$ex = explode("|",$rigo); //imposto il carattere da riconoscere per distaccare un elemento dall'altro
if($ex[0] == $id_riga) { //se l'id nella riga è uguale a quello preso
$w[] = "$id_riga|$ex[1]|nuovocontenuto!|\n"; //imposta quell'indice di array con un nuovo contenuto
}else{ //Altrimenti
$w[] = $rigo; //il pezzo di array rimane lo stesso del file
}
}
$ok = implode("",$w); //unisco l'array
$fp = fopen("file.txt","w+"); //apro in lettura il file cancellandone il contenuto
fwrite($fp, $ok); //scrivo la variabile che ha unito l'array
fclose($fp); //chiudo il file!
?>
Devi sempre leggere tutto il file e poi riscriverlo.Originalmente inviato da toninosite
Codice PHP:
<?
$file=file("nomefile.txt");
$file[2]="nuovo".$file[2];
$fp=fopen("nomefile.txt","w");
for($i=0;$i<count($file);$i++)
fwrite($fp,trim($file[$i])."\n");
fclose($fp);
?>
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
io volevo riscrivere solo la riga desiderata come un vettore ....diciamo..... ho provato ad incrementare il puntatore che punta all'inizio del file ma niente....
Originalmente inviato da toninositeOriginalmente inviato da funcool
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen