Foros del Web » Programando para Internet » PHP »

PHP - Eliminar zona de un archivo de texto

Estas en el tema de PHP - Eliminar zona de un archivo de texto en el foro de PHP en Foros del Web. Hola a todos, el problema que tengo es que quiero eliminar los 2 ultimos caracteres de un archivo de texto para añadir mas cosas. Se ...
  #1 (permalink)  
Antiguo 20/03/2011, 15:01
Avatar de dmm84  
Fecha de Ingreso: marzo-2011
Mensajes: 164
Antigüedad: 13 años, 1 mes
Puntos: 13
Pregunta PHP - Eliminar zona de un archivo de texto

Hola a todos,

el problema que tengo es que quiero eliminar los 2 ultimos caracteres de un archivo de texto para añadir mas cosas. Se como añadir mas cosas pero no como borrar esos 2 caracteres. ¿Como puedo borrarlos?
Gracias de antemano
  #2 (permalink)  
Antiguo 20/03/2011, 16:26
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 19 años, 6 meses
Puntos: 4
Respuesta: PHP - Eliminar zona de un archivo de texto

Para eso puedes utilizar la función substr:

A ver si esto te funciona

$string=substr($string, 0, -2);

Saludos.
  #3 (permalink)  
Antiguo 20/03/2011, 16:43
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: PHP - Eliminar zona de un archivo de texto

Código PHP:
Ver original
  1. <?php
  2. $a=fopen("hola","a+");
  3. $b=fread($a,filesize("hola"));
  4. echo $b."<br>";
  5. $c=substr($b,0,-2);
  6. echo $c;
  7. ?>
  #4 (permalink)  
Antiguo 21/03/2011, 09:19
Avatar de dmm84  
Fecha de Ingreso: marzo-2011
Mensajes: 164
Antigüedad: 13 años, 1 mes
Puntos: 13
Respuesta: PHP - Eliminar zona de un archivo de texto

gracias por vuestras respuestas, al final lo solucioné con este codigo:

Cita:
$arch = "archivo.html";

$a = fopen($arch, "a+");
$b = fread($a,filesize($arch));
$c = substr($b,0,-2);
$final = $c ."texto añadido";

$da = fopen($arch,"w+");
fwrite($da, $final);

Etiquetas: sustituir
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 15:58.