Forse ho risolto :
Codice PHP:
//apro il file
$file ="debitori/$_SESSION[nomeut]-$_SESSION[fisc].csv";
$apro = fopen($file, "r");
//importo tramite il metodo prescelto i vari campi e li inserisco in un array
$cambio = array (0 => $_SESSION['id'] , 1 => $_POST['cli'] , 2=> $_POST['rag'] ,3=> $_POST['ind'] ,4=>$_POST['cit'] ,5=>$_POST['pro'] ,6=> $_POST['zip'] ,7=> $_POST['te1'],8=> $_POST['te2'],9=> $_POST['fax'],10=> $_POST['mai'],11=> $_POST['iva'],12=> $_POST['fis'],13=> $_POST['rif'],14=> $_POST['dri'] ,15=> $_POST['dre']);
$rag=$_POST['rag'];
//carico un array che mi servira come appoggio
$data = array();
if (isset ($rag)){
//carico il file in un vettore
$vettore = file($file);
//conto le righe del file passate in un vettore (5 righe 5 vettori)
$counter = count($vettore);
//carico un altro vettore con i singoli campi della prima riga divisi da ;
$vett = fgetcsv($apro, 0, ";");
//conto i singoli campi della riga scomposti in un vettore
$numcampi = count($vett);
//ciclo il vettore e lo espando
for ($i=0;$i<$counter;$i++){
$esplosione = explode(";", $vettore[$i]);
//carico in data ogni singola esplosione
$data[$i] = $esplosione;
}
//$data è un array bidimensionale , lo ciclo per tutta la sua grandezza
for ($c = 0 ; $c <= $counter ; $c++){
for ($j = 0 ; $j <= $numcampi ;$j++){
//se un campo è uguale al paramentro di confronto
if ($data[$c][$j] == "$rag"){
//lo ricompongo e lo inserisco in un'arrai (tutti i campi uniti n un array solo)
$implosionecambio = implode(";", $cambio);
$sostituzione = array_splice($vettore, $vettore[$c], count($vettore[$c]), $implosionecambio);
$sostituzione = array($cambio);
break;
}
}
}
//scrivo il mio array con la sostituzione
$fpf2 = fopen($file, "w+");
foreach ($vettore as $vettoriale){
$fw2 = fwrite($fpf2, "$vettoriale");
}
if ($fw2){
//stampo a video le mie righe
foreach ($vettore as $vettoriale)
echo $vettoriale . "\n";
}
//chiudo sia lettura che scrittura
fclose($fpf2);
fclose($apro);
}
Ora dovrebbe funzionare !
grazie a tutti... ciao