Foros del Web » Programando para Internet » PHP »

str_replace en archivos

Estas en el tema de str_replace en archivos en el foro de PHP en Foros del Web. Hola! quisiera me dijeran como implementar la funcion str_replace en un archivo, lo que necesito hacer es buscar una frase dentro de ese archivo y ...
  #1 (permalink)  
Antiguo 04/08/2006, 10:11
 
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta str_replace en archivos

Hola!
quisiera me dijeran como implementar la funcion
str_replace en un archivo, lo que necesito hacer
es buscar una frase dentro de ese archivo y
modificarla por otra que me proporcione el
usuario.
Gracias y espero me puedan ayudar
  #2 (permalink)  
Antiguo 04/08/2006, 10:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En ese caso se trata de que tu leas el archivo hacia un "string" (variable) y luego apliques "str_replace()" .. PHP de por sí no tiene funciones directas para tal fin.

Podría ser algo tipo:
Código PHP:
$archivo=implode("",file("archivo.tal"));
// aplicas tu str_replace ... a $archivo 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/08/2006, 11:16
 
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
hola cluster.

Ya tengo el codigo para pasar el archivo a una variable y tambien remplazo la frase ahora kisiera saber como le hago para pasar el contenido de esa variable a un archivo, para posteriormente remplazar el primer archivo por el archivo ya modificado. gracias
  #4 (permalink)  
Antiguo 04/08/2006, 11:17
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 11 años, 10 meses
Puntos: 3
file("archivo.tal") es una matriz??
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #5 (permalink)  
Antiguo 04/08/2006, 11:20
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 14 años, 11 meses
Puntos: 8
file("archivo.tal"); es una matriz pero

$archivo=implode("",file("archivo.tal"));
es una cadena, de todos modos yo prefiero
$archivo = readfile('archivo.tal'); y ya...
  #6 (permalink)  
Antiguo 04/08/2006, 11:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Nefertiter Ver Mensaje
file("archivo.tal"); es una matriz pero

$archivo=implode("",file("archivo.tal"));
es una cadena, de todos modos yo prefiero
$archivo = readfile('archivo.tal'); y ya...
Y readfile() te lo puedes llevar a una variable .. así como así?.

Dado de que readfile() entrega el archivo que se lee hacia el buffer de salida de PHP .. Ahora, si dices que funciona .. OK.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 04/08/2006, 11:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por travieso_bad Ver Mensaje
hola cluster.

Ya tengo el codigo para pasar el archivo a una variable y tambien remplazo la frase ahora kisiera saber como le hago para pasar el contenido de esa variable a un archivo, para posteriormente remplazar el primer archivo por el archivo ya modificado. gracias
Escribe el archivo con fopen() en modo escritura y su fwrite() ..

No se trata de "modificar" una parte del archivo .. sino que escribes por completo el archivo ...

www.php.net/fopen y afines

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 04/08/2006, 11:31
 
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
<?php
$archivo =file_get_contents("/var/www/default/document.inc.php");
$cadena = str_replace("cad_buscar","cad_remplazar",$cadena);
?>eso es algo de lo que hice
  #9 (permalink)  
Antiguo 04/08/2006, 11:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por travieso_bad Ver Mensaje
<?php
$archivo =file_get_contents("/var/www/default/document.inc.php");
$cadena = str_replace("cad_buscar","cad_remplazar",$cadena);
?>eso es algo de lo que hice
Como ya ves hay várias formas de llegar a lo mismo. Algunas más óptimas que otras (la del "file()" que propongo con el implode() no creo que sea tan buena que la que propones con file_get_contents() .. )

Ahora, aplica tu fopen() .. y fwrite($fp,$cadena); ... etc.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 04/08/2006, 11:35
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 14 años, 11 meses
Puntos: 8
Cita:
Dado de que readfile() entrega el archivo que se lee hacia el buffer de salida de PHP .. Ahora, si dices que funciona .. OK.
ups
tenes razon xD,
la q va es la de travieso "file_get_contents", saludos
  #11 (permalink)  
Antiguo 04/08/2006, 11:59
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Sólo por molestar, jeje

Código PHP:
<?php
    $archivo
="archivo.txt";
    
file_put_contents($archivo,str_replace("cambiar_esto","por",file_get_contents($archivo)));
?>
  #12 (permalink)  
Antiguo 04/08/2006, 13:07
 
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
intente usar la funcion file_put_content pero me marca el sieguiente error

Fatal error: Call to undefined function: file_put_contents() in /var/www/default/modificar_cad.php on line 30
  #13 (permalink)  
Antiguo 04/08/2006, 13:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por travieso_bad Ver Mensaje
intente usar la funcion file_put_content pero me marca el sieguiente error

Fatal error: Call to undefined function: file_put_contents() in /var/www/default/modificar_cad.php on line 30
file_put_contents
(PHP 5)

file_put_contents -- Write a string to a file

Sólo está habilitada desde PHP 5 en adelante.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 04/08/2006, 13:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por claudiovega Ver Mensaje
Sólo por molestar, jeje

Código PHP:
<?php
    $archivo
="archivo.txt";
    
file_put_contents($archivo,str_replace("cambiar_esto","por",file_get_contents($archivo)));
?>
Tienes que hacer la "acotación" .. No todo el mundo usa o disfruta de PHP 5.x

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 04/08/2006, 13:35
 
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
bueno ni modo no podre usar es funcion ya que estoy usando la version 4.4.0 lo hare de otra forma entonces.
graxias
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:40.