Foros del Web » Programando para Internet » PHP »

Borra la 1ra linea de un TXT.

Estas en el tema de Borra la 1ra linea de un TXT. en el foro de PHP en Foros del Web. Pues ya hice el script para que mandes el dato y lo grabe en el TXT, pero quiero que cuando el TXT tenga mas de ...
  #1 (permalink)  
Antiguo 09/07/2002, 15:50
 
Fecha de Ingreso: febrero-2002
Ubicación: Zacatecas
Mensajes: 322
Antigüedad: 22 años, 8 meses
Puntos: 0
Borra la 1ra linea de un TXT.

Pues ya hice el script para que mandes el dato y lo grabe en el TXT, pero quiero que cuando el TXT tenga mas de 5 lineas se borre la primera, hay alguna forma de hacer esto??

<a href="http://www.elplanetax.com"> --ElplanetaX.com -- Diviertete --</a>
<a href="http://www.elplanetax.com/directorio/"> -- www.ElplanetaX.com/Directorio/ -- Solo Los mejores Links --
  #2 (permalink)  
Antiguo 09/07/2002, 16:45
Avatar de TheRock  
Fecha de Ingreso: mayo-2002
Ubicación: Sucre - Bolivia
Mensajes: 189
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Borra la 1ra linea de un TXT.

Bueno, como tan solo son 5 lineas podrias usar la funcion file() para leer todo el archivo y asignarlo a un array, luego realizas un recorrido empezando de la segunda linea y procedes a escribir en el mismo archivo.

algo asi como eso:

$texto=file(&quot;miarchivo.txt&quot;);
$archivo=fopen(&quot;miarchivo.txt&quot;,&quot;w&q uot;);
for($i=1;$i&lt;=count($texto);$i++) {
fwrite($archivo,$texto[$i]);
}

ok. por favor revisa el codigo lo hice muy rápido, tambien comprendo que existira formas mas claras o mas rápidas, pero ahi te va el codigo como sugerencias.

Saludos
  #3 (permalink)  
Antiguo 09/04/2004, 15:52
Avatar de AgusBohemio  
Fecha de Ingreso: enero-2004
Ubicación: Villa crespo
Mensajes: 181
Antigüedad: 20 años, 10 meses
Puntos: 1
hola
tengo una duda
el script de arriba me surge un error, me borra todo el texto, en ves de borrarme la linea [1]

Código PHP:
<?
$linea 
1;
$filename "bd.txt";
$texto=file($filename);
$archivo=fopen($filename,"w");
for(
$i=0;$i=count($texto);$i++) {
if (
$i != $linea) {
fwrite($archivo,$texto[$i]);
}
}
fclose($archivo);
?>
alguien me odria decir cual es el error?
o me pueden poner otro script para borrar una linea
  #4 (permalink)  
Antiguo 12/04/2004, 05:52
 
Fecha de Ingreso: febrero-2004
Mensajes: 13
Antigüedad: 20 años, 8 meses
Puntos: 0
Holas soy novato en esto pero kizas te pueda ayudar, creo k tiene k ver con el $i=count($texto) del for, ya k esa funcion cuenta todas las lineas del txt.

Entonces en el if dices k si i!=1 te escriba en el txt, como casi nunca vas a encontrar un txt con una linea te escribe en el txt tantas lineas como haya contado el count ( o sea todas).

Prueba de poner el for($i=0;$i=x;$i++) , Siendo x el numero de lineas a borrar y eliminas ese if.
Espero que te sirva de ayuda.
  #5 (permalink)  
Antiguo 12/04/2004, 06:33
Avatar de AgusBohemio  
Fecha de Ingreso: enero-2004
Ubicación: Villa crespo
Mensajes: 181
Antigüedad: 20 años, 10 meses
Puntos: 1
muchas gracias, pero no se si he comprendido muy bien
esto es lo que interprete yo, pero no me funciona
Código PHP:
<?
$i 
count("ip.txt");
if (
$i != "1") {
echo 
"El Texto tiene una sola linea";
}else{
for(
$i=0;$i=x;$i++);
}
?>
saludos
  #6 (permalink)  
Antiguo 12/04/2004, 08:46
 
Fecha de Ingreso: febrero-2004
Mensajes: 13
Antigüedad: 20 años, 8 meses
Puntos: 0
Prueba con esto :D

Código PHP:
<?

$linea 
1;

$filename "bd.txt";

$texto=file($filename);

$archivo=fopen($filename,"w");

for(
$i=0;$i=$linea;$i++) {

fwrite($archivo,$texto[$i]);

}


fclose($archivo);

?>
  #7 (permalink)  
Antiguo 12/04/2004, 14:05
Avatar de AgusBohemio  
Fecha de Ingreso: enero-2004
Ubicación: Villa crespo
Mensajes: 181
Antigüedad: 20 años, 10 meses
Puntos: 1
me pasa esto

Fatal error: Maximum execution time of 30 seconds exceeded in c:\phpdev\www\del.php on line 14

la linea 14 es:

Código PHP:

y cuando veo el db.txt

aparece la linea 1 muchas veces

se multiplica la linea


saludos y gracias igual por ayudarme
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:50.