Foros del Web » Programando para Internet » PHP »

Agregar texto a un archivo

Estas en el tema de Agregar texto a un archivo en el foro de PHP en Foros del Web. Hola a todos! Necesito añadir texto a un archivo, pero no al final de este, sino justo antes de la ultima llave "}". Algo asi... ...
  #1 (permalink)  
Antiguo 18/09/2012, 06:48
 
Fecha de Ingreso: mayo-2012
Mensajes: 23
Antigüedad: 11 años, 11 meses
Puntos: 4
Agregar texto a un archivo

Hola a todos!
Necesito añadir texto a un archivo, pero no al final de este, sino justo antes de la ultima llave "}".

Algo asi...

Tengo esta clase:
Código PHP:
class miClass
{
    public function 
miFunctionUno()
    {}


y quiero agregarle esta función:
Código PHP:
public function miFunctionDos()
    {} 
Archivo final:
Código PHP:
class miClass
{
    public function 
miFunctionUno()
    {}

     public function 
miFunctionDos()
    {}


¿Como lo hago?

Saludos
  #2 (permalink)  
Antiguo 18/09/2012, 09:54
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Agregar texto a un archivo

Mmmm, estaba buscando como cambiar el puntero de posición pero aparte de al inicio y al final no se como se haría.

Lo único que se me ocurre es que metas el contenido del fichero en una variable y el resto seguro que ya lo sabes hacer.
  #3 (permalink)  
Antiguo 18/09/2012, 10:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Agregar texto a un archivo

De verdad que no entiendo lo que quieres lograr, si ya lo estas haciendo con tan solo añadir la funcion como indicaste es suficiente...

Si lo que deseas es extender solo tienes que usar extend en otra clase y hereda todo lo que tiene la primera clase en la segunda y así continuas con el código.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 18/09/2012, 11:50
 
Fecha de Ingreso: mayo-2012
Mensajes: 23
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Agregar texto a un archivo

Cita:
Iniciado por abimaelrc Ver Mensaje
De verdad que no entiendo lo que quieres lograr, si ya lo estas haciendo con tan solo añadir la funcion como indicaste es suficiente...

Si lo que deseas es extender solo tienes que usar extend en otra clase y hereda todo lo que tiene la primera clase en la segunda y así continuas con el código.
Estoy creando un modulo para PrestaShop y existe una carpeta(Override) donde se hacen todos los cambios de las clases por defecto.
Al instalar el módulo tengo que modificar una clase de la carpeta Override añadiendo diferentes funciones.

Si creara un archivo que herede de una clase de dicha carpeta tendria que modificar alguna funcion del nucleo de prestashop, que ademas de ser mas complicado, se perdería en cada actualización.

No se si me he explicado bien


Cita:
Iniciado por alyciashape Ver Mensaje
Mmmm, estaba buscando como cambiar el puntero de posición pero aparte de al inicio y al final no se como se haría.

Lo único que se me ocurre es que metas el contenido del fichero en una variable y el resto seguro que ya lo sabes hacer.
Creo que lo acabaré haciendo así. Aunque pensaba que podía existir alguna función de manejo de ficheros que lo automatizara.

Muchas gracias a los dos

Saludos
  #5 (permalink)  
Antiguo 19/09/2012, 05:11
 
Fecha de Ingreso: mayo-2012
Mensajes: 23
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Agregar texto a un archivo

Por si a alguien le sirve, lo he hecho así:

Código PHP:
// Guardar el contenido del archivo en $content
$content file_get_contents($filename);

$file fopen$filename"w+");

// Obtener la posicion de la ultima llave
$pos_key strrpos$content_auth ,'}');

// Reemplazar la llave final por la variable $content_add + }
$new_content substr_replace($content$content_add '}'$pos_key);

fwrite($file$new_content);
fclose($file); 
¿Alguna otra forma de hacerlo?

Saludos
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 08:53.