Oye amigo y por que no intentas sacar el contenido de tu archivo de texto en un arreglo multidimensional, de esta manera tendrás la ventaja de ubicar mas fácilmente el registro que deseas eliminar o modificar.
No se si alguien opine lo mismo, pero por ejemplo, supongamos que tienes 3 registros en el archivo separados por el caracter que quieras, algo asi:
agenda.txt
nombre1,edad1,telefono1
nombre2,edad2,telefono2
nombre3,edad3,telefono3
Desde mi umilde punto de vista, si voy a usar archivos de texto, haría lo siguiente para modificar o eliminar:
Código PHP:
$fp=fopen("agenda.txt");
$x=0;
while(!feof($fp))
{
$linea=fgets($fp);
if($linea)
{
$separa=explode(",",$linea);
$lineas[$x][0]=$separa[0];
$lineas[$x][1]=$separa[1];
$lineas[$x][2]=$separa[2];
}
$x++;
}
fclose($fp);
Esto me dejaría un arreglo bidimencional mas o menos asi:
___|___0___|__ 1___|___ 2____|
| 0 | nombre1 | edad1 | telefono1 |
| 1 | nombre2 | edad2 | telefono2 |
| 2 | nombre3 | edad3 | telefono3 |
Y con esta estructuración de datos si quiero modificar a nombre2, busco el registro en el arreglo que tenga el indice 1 (columna de la izquierda=1) y lo mismo seria para eliminar. Al final, borraría el contenido del archivo o eliminaria el archivo completo y lo volvería a generar pero con el contenido del arreglo ya modificado.
Espero haber sido claro, saludox!