Ciao a tutti
Ho preso da un tutorial questi due file di testo relativi alla modifica e ELIMINAZIONE di record da un file dim testo
Quello che non capisco è perchè un volta eseguiti mi dicano che l'operazione è anadata a buon fine ma se poi li leggo con il file di lettura in php il risultato che è uguale a prima?'ù
E poi che significa le variabili vc e cod che prende in modalità get da un file html presumo?
Grazie mille a tutti
MODIFICA
<?php
$num=5; //numero dei campi del record da trasferire nel vettore da 0 a 8.
$nomefile="prenotazioni.txt"; //variabile che contiene il nome del file prodotti
$vec_cod=$_POST['vc'];
for($i=0;$i<$num;$i++) //ciclo che recupera i dati forniti dal form per l'inserimento dei nuovi alimenti
{
$prodotto[$i]=$_POST["p$i"];
}
if(file_exists($nomefile))
{
//se il file esiste
$fp=fopen($nomefile,"r");
if(!$fp)
die("<h2> Il file $nomefile non è stato aperto."); //se non va a buon fine ciò che è scritto da qui in
///avanti non viene letto
flock($fp,2);//per operazioni di scrittura esclusiva
$nomefile_02="temp.txt";//file non esistente per cui verrà creato con fopen
$fp_02=fopen($nomefile_02,"w");
if(!$fp_02)
die("<h2> Il file $nomefile_02 non è stato aperto.");
flock($fp_02,2);
$trovato=0;
while(!feof($fp))
{
$stringa=fgets($fp);
$vettore=explode(",",$stringa);
if($vettore[0]!=$vec_cod)
fwrite($fp_02, $stringa);
else
{
$trovato=1;
$nl=chr(13).chr(10);
for($j=0;$j<count($vettore);$j++)
{
if($prodotto[$j])
$vettore[$j]=$prodotto[$j];
}
$stringa=implode(",",$vettore);
if($prodotto[$j])
fwrite($fp_02, "$stringa$nl");
else
fwrite($fp_02, "$stringa$nl");
}
}
if($trovato==0)
die("<h3> Il codice inserito non appartiene a nessuno evento in programma.");
echo"L'evento $prodotto[0] è stato modificato con successo!";
flock($fp,3);
flock($fp_02,3);
fclose($fp);
fclose($fp_02);
unlink($nomefile); //eliminazione del file di testo
rename($nomefile_02, $nomefile); //rinomino il nuovo file con il vecchio nome
}
else
echo"Il file non esiste";
?>
ELIMINAZIONE
<?php
$codice=$_POST['key']; //recupero dati da form
$nomefile="prenotazioni.txt";
if(file_exists($nomefile))
{
//se il file esiste
$fp=fopen($nomefile,"r");
if(!$fp)
die("<h2> Il file $nomefile non è stato aperto.");
//se non va a buon fine ciò che è scritto da qui in avanti non viene letto
flock($fp,2);//per operazioni di scrittura esclusiva
$nomefile_02="temp.txt";//file non esistente per cui verrà creato con fopen
$fp_02=fopen($nomefile_02,"w");
if(!$fp_02)
die("<h2> Il file $nomefile_02 non è stato aperto.");
flock($fp_02,2);
$trovato=0;
while(!feof($fp))
{
$stringa=fgets($fp);
$vettore=explode(",",$stringa);
if($vettore[0]!=$codice)
fwrite($fp_02, $stringa);
else
$trovato=1;
}
if($trovato==0)
die("<h3> Il codice inserito non appartiene a nessun evento in programma.");
echo"L'evento è eliminato dalla lista";
flock($fp,3);
flock($fp_02,3);
fclose($fp);
fclose($fp_02);
unlink($nomefile); //eliminazione del file di testo
rename
($nomefile_02, $nomefile);
}
else
echo"Il file non esiste";
echo"<a href='lettura.php'>Torna alla lettura delle prenotazioni</a>"."<br><br>";
header("location:lettura.php");
?>