Escribir en archivo en cualquier linea

NoW
03 de Julio del 2005
Buenas, me gustaría saber como escribir en un archivo, en cualquier línea que desee.
Yo tengo este codigo:

<?php

echo "<br><br>*************************************<br><br>";
//**********************
$archivo = "prueba.txt";
$lineas = file($archivo);
$contar=count($lineas,COUNT_RECURSIVE)-2;
$nueva= $lineas[$contar];
$parte= substr($nueva,6,1);
echo $parte;
echo "<br>";
echo "añadimos un numero más...";
echo "<br>";
$parte2 =$parte+1;
$total = "Umsgs[$parte2]="> una linea mas es un total de $parte2"";
echo $total;
echo "<br>";

echo "<br><br>*************************************<br><br>";
?>

quiero añadir $total a cualquier linea de prueba.txt.
¿Como podria hacerlo?

Loop
03 de Julio del 2005
<?php
$lineas=count($file);
for($e=0;$e<$lineas;$e++){
$linea_numero[$e]=$lineas[$e];
}
fopen($archivo,'w+');
for($i=0;$i<$lineas;$i++)
{
fputs($archivo, $linea_numero[$i].$total);
}

?>

Simple...

Saludos !

NoW
03 de Julio del 2005
Si... si a eso ya lo he exo yo... pero no quiero incluir $i, sino $parte2

Saludos

NoW
03 de Julio del 2005
Lo he probado... y me borra todo el archivo...

Loop
03 de Julio del 2005
Lo borra pq no estás haciendo las cosas bien...

<?php
$archivo="uno.txt";
$fopen =fopen($archivo,'a');
$file =file($archivo);
$count =count($file);

for($i=0;$i<$count;$i++){
$linea[$i]=$file[$i];
$linea[$i]=trim($linea[$i]);
}
$linea_exta="debe estar sólo en la línea siete";

$Num=count($linea);

$write=fopen($archivo,'w+');
for($i=0;$i<$Num;$i++){
if($i==7){fputs($write,$linea[$i] ." ". $linea_exta . "n");}else{fputs($write,$linea[$i] . "n");}
}
?>

De esta manera a cada ejecución del script se agregará a la línea número 7 la cadena $linea_exta.

Saludos y ¡ Suerte !

Loop
03 de Julio del 2005
Ok. va ....
<?php
// Nombre del archivo
$archivo="uno.txt";
// abrimos el fichero para lectura
$fopen =fopen($archivo,'a');
// indicamos que $archivo es un documento
$file =file($archivo);
// Contamos las líneas del documento
$count =count($file);

// Por cada línea del documento se hace ....
for($i=0;$i<$count;$i++){
// Una copía de la línea ...
$linea[$i]=$file[$i];
// Eliminar espacios y saltos de línea en cada "linea" valga la rebundancia jejeje :p
$linea[$i]=trim($linea[$i]);
}
// La línea que será insertada como extra...
$linea_exta="debe estar sólo en la línea siete";

// contamos los elementos del array $linea
$Num=count($linea);
// Abrimos el fichero eliminando el contenido
$write=fopen($archivo,'w+');
// Por cada elemento encontrado en el array $línea...
for($i=0;$i<$Num;$i++){
/* Si la línea es la 7 donde se debe hacer el cambio
guardamos esta línea como el elemento extra, en caso contrario se guardan las líneas justo como estaban anteriormente */
if($i==7){fputs($write,$linea[$i] ." ". $linea_exta . "n");}else{fputs($write,$linea[$i] . "n");}
}
// Cerramos el fichero ....
fclose($fopen);
?>

Loop
03 de Julio del 2005
perdón era en la línea última

fclose($write);

J.R.
03 de Julio del 2005
Podria escribir el codigo con comentarios en cada paso para entender mejor el procedimiento?? Muchisimas gracias.