- Home
- Categorie
- Coding e Sistemistica
- PHP
- File testo quale db cancellare un solo record
-
File testo quale db cancellare un solo record
Ciao, mi spiegate, gentilmente, come poter cancellare da un file un solo record presente?
Il ciclo foreach è ok ma poi trovato la corrispondenza come la cancello? Non voglio cancellare tutto il file ma solo un campo una cella un record... mi spiego??
Ciao
Assone
-
un modo semplice:
riscrivi il file con il ciclo, e durante il ciclo controlli la corrispondenza
e eviti la scritura del record che vuoi cancellare con una if...
-
Grazie Gabrielm ... ma senza un esempio di codice non mentalizzo la soluzione (per ora)
Ciao
Assone
-
Ciao Assone, prova ha postare il codice fino al punto in cui trovi il record da eliminare nel file poi sarà più semplice completarlo più concretamente seguendo i consigli di gabrielem.
-
$ip=$_SERVER['REMOTE_ADDR'];
$file = fopen("guest.txt", "a");
fwrite ($file, "$ip\r\n");
fclose($file);
$key = $ip;
$search = array();
$file = file('guest.txt');
foreach ($file as $riga) {
$result = explode(',', trim($riga));
for ($j=0; $j<count($result); $j++) {
//troviamo le corrispondenze
if ($result[$j]==$key)... e poi????
Grazie Ragazzi
A presto
PS: magari non proprio tutto il listato ma qualche indicazione per far muovere le mie nozioni sul php
CIAO
-
La ricerca è stata lunghissima ma alla fine ho trovato : ecco il codice che mi permette di cancellare un solo dato dal mio file...
<?php
$id="84.221.106.200";$file=file("guest.txt");
for($i=0;$i<count($file);$i++) {
$file*=explode("|",trim($file*));
if ($file*[0]=="$id")
$file*[0]="";
}
$fp=fopen("guest.txt","w");
for($i=0;$i<count($file);$i++) {
$file*=implode("|",$file*);
fwrite($fp,$file*."\n");
}
fclose($fp)
?>Ciao
Assone