- Home
- Categorie
- Coding e Sistemistica
- Coding
- Lettura e scrittura file di testo
- 
							
							
							
							
							Lettura e scrittura file di testoSalve a tutti. 
 In pratica uso questo codice per prendere delle linee da un file di testo e li metto all'interno di un array, modifico il valore chedevo modifica re poi devo riscrivere il file.
 Tutto apposto tranne che non riesco a scrivere il file.....HELP.$tipo = $_GET["tipo"]; 
 $idGet = $_GET["ID"];$fp = fopen ("materiali.txt","r"); 
 while ($tabella = fscanf ($fp, "%d\t%s\t%s\n")) {
 list ($ID,$nome,$numero) = $tabella;
 if(($tipo == 0) && ($ID==$idGet))
 $numero=+1;
 elseif(($tipo == 1) && ($ID==$idGet))
 $numero=-1;
 }
 fclose($fp);$fp=fopen("materiali2.txt", "w"); 
 $i=0;
 while(list($ID,$nome,$numero)= $tabella){
 fputs($fp, $ID);
 echo $nome;
 echo $tabella[0];
 echo $tabella[1];
 }
 fclose($fp);
 //header("location: lista.php");
 
- 
							
							
							
							
							Tieni conto che $tabella non è niente, in quanto viene popolato dal primo loop ma quando esce non c'è più niente. 
 Forse volevi popolare $tabella, allora nel primo loop devi usare $tabella con un indice, ad esempio $tabella[$numero] oppure $tabella[], in questi casi il secondo loop diventa così:$fp=fopen("materiali2.txt", "w"); foreach ($tabella AS $indice => $tab){ list($ID,$nome,$numero)= $tab; fputs($fp, $ID . "\t" . $nome . "\t" . $numero . "\n"); } fclose($fp);Tanto per informazione, invece che: 
 $numero=+1;
 puoi scrivere:
 $numero++;