quando fai la prima array non fai altro che ottenere una singola riga...
ovvero ogni indice della prima array sarà una cosa del tipo:
0 > 1;4 genn 2008;eccetera
1 > 2;4 genn 2008;eccetera
2 > 3;4 genn 2008;eccetera
3 > 4;4 genn 2008;eccetera
di conseguenza potrai accedere...alle singole righe del tuo file di testo...
a che pro?
ti serve esclusivamente per eliminare il primo numerino che è il tuo ID e modificarlo secondo le tue esigenze...
come?
$subarray = explode(';', $array[$incr]);
dove $incr è un numerino autoincrementante utilizzato per scorrerti la prima array...
ESEMPIO PRATICO
<?php
// operazioni per aprire il file e leggerne il contenuto
(...)
// queasta variabile ti consentirà di riordinare le singole righe nel una venga cancellata...
$kiave = 0;
$reParse= array();
$valore_preso_dal_form_per_eliminare_una_riga = $_POST[valore_preso_dal_form_per_eliminare_una_riga]; // controlla che sia un numero...
if ($valore_preso_dal_form_per_eliminare_una_riga < 1 OR !is_int($valore_preso_dal_form_per_eliminare_una_r iga))
die('Solo numeri, please!!!');
// crea la prima array, quella per ogni singola riga...
$array = explode ("\n", $contenuto_file_di_testo);
for ($incr = 0; counr($array); $incr++)
{
// in questo ciclo avrai le singole righe...
if ($incr == ($valore_preso_dal_form_per_eliminare_una_riga-1)){ // esempio: vuoi eliminare la riga 5, quindi confrontiamo il valore $incr con 4
// non facciamo niente...
} else {
// spezziamo i singoli valori di ogni singola riga...
$sub_array = explode(';', $array[$incr]);
for ($k=0; count($sub_array) > $k; $k++)
{
// quest'altro ciclo ti consente di accedere ai singoli valori di ogni singola riga...
$kiave = $kiave + 1;
// sostituiamo l'identificativo della riga con uno appena generato...
// aggiungo oltre al numerino anche il punto e virgola, ma fai attenzione vi è una remota possibilità che se in un altro campo della riga ci sia lo stesso numerino seguito dal punto e virgola...beh verrà cambiato anche quello, in alternativa utilizza quella funzione che hai trovato tu...
$riga = str_replace($sub_array[0] . ';', $kiave . ';', $sub_array($k));
$reParse[] = $riga;
}
// adesso che abbiamo modificato la riga...
// qui finisce l'if per cancellare la riga...
}
}
// abbiamo finito...
ci ritroviamo con una super array chiamata reParse che dovrebbe contenere tutti i messaggi riordinati senza la riga cancellata...
// facciamo un controllo per scrupolo...
if (count($reParse) < 1)
die ('l\'array è vuota...meglio fermarsi e fare un po\' di debug...');
(cancella il vekkio file e riscrivici dentro il contenuto dell'array )
echo 'fine!';
?>