ho risolto così:
Codice PHP:
function array_remove(&$arr,&$value) { 
   if(!
in_array($value,$arr)) return $arr
   unset(
$arr[array_search($value,$arr)]); 
   return 
array_values($arr); 
}

function 
seek(&$array,&$key,$index){
    if(
is_numeric($key)){ 
        foreach(
$array as $k){
        
$find=explode("#",$k);
        if(
$find[$index]==$key){ 
                echo 
$find[$index];
                
$tmp $k
            } 
        } 
    } 
    return 
$tmp


if (
file_exists($filename) == TRUE){
    
$riga file($filename);
    
$riga_da_togliere seek($riga,$ID_TOPIC,1);
    
$riga_mod array_remove($riga,$riga_da_togliere);
    
$somecontent "";
    foreach (
$riga_mod as $r){
        
$somecontent .= $r;
    }
    
    if (!
$handle fopen($filename'w')) {
         echo 
"Non si riesce ad aprire il file ($filename)
"
;
         exit;
    }
    
// Scrive $somecontent nel file aperto.
    
fwrite($handle$somecontent);
    
fclose($handle);

grazie mille lo stesso ^_^