Foros del Web » Programando para Internet » PHP »

ayuda...please

Estas en el tema de ayuda...please en el foro de PHP en Foros del Web. Hola estoy usando lo siguiente $archivo= fopen("/var/www/default/dokeos/document.inc.php","r+"); while (!feof($archivo)){ $cadena=fgets($archivo); str_replace("frase a buscar","frase de reemplazo",$cadena); } fclose(archivo); Lo que quiero hacer es abrir ese archivo, ...
  #1 (permalink)  
Antiguo 03/08/2006, 09:47
 
Fecha de Ingreso: julio-2006
Mensajes: 24
Antigüedad: 11 años, 4 meses
Puntos: 0
Información ayuda...please

Hola estoy usando lo siguiente

$archivo= fopen("/var/www/default/dokeos/document.inc.php","r+");
while (!feof($archivo)){
$cadena=fgets($archivo);
str_replace("frase a buscar","frase de reemplazo",$cadena);
}
fclose(archivo);

Lo que quiero hacer es abrir ese archivo, recorrer el archivo linea por linea y buscar una frase y se la encuentro, necesito remplazar una cadena por otra, quisiera saber como le hago para eliminar la linea cuando encuantre la frase que busco y reemplazarla por la nueva linea.

Gracias...
  #2 (permalink)  
Antiguo 03/08/2006, 09:57
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años
Puntos: 1
reemplazar: str_replace(palabraOriginal,palabraReemplazar,Cade na)

completo:

Código PHP:
function leerArchivo ($archivo)
{
    if (
file_exists($archivo)) {
        if (!
$fd fopen($archivo"r")){
            echo(
"No se ha podido abrir el archivo: ".$archivo);
            exit;
        }
        if (!
$bufferRead fread($fdfilesize($archivo))){
            echo
"Error leyendo el archivo: ".$archivo;
            exit;
        }
        
fclose($fd);        
    }
    else {
        echo
"No existe el archivo: ".$archivo;
        exit;
    }
    return 
$bufferRead;    
}


//=====================================================
function escribirArchivo ($file,$contenido)
{
    if(!
$fd fopen($file"w")) {
        echo(
"Error abriendo el archivo para escribir.");
        exit;
    }
    if(!
fwrite($fd$contenido)) {
        echo(
"Error escribiendo en el archivo final.");
        exit;
    }
    
fclose($fd);    
}


$texto=leerArchivo("/var/www/default/dokeos/document.inc.php");
$texto=str_replace(cadena1,cadena2,$texto);
escribirArchivo("/var/www/default/dokeos/document.inc.php",$texto); 
a ver si te vale.
__________________
ALOZORRO v5.0 (ahora en .es)
  #3 (permalink)  
Antiguo 03/08/2006, 10:03
 
Fecha de Ingreso: julio-2006
Mensajes: 24
Antigüedad: 11 años, 4 meses
Puntos: 0
Gracias por tu rapida respuesta azrael666
Lo voy a checar
  #4 (permalink)  
Antiguo 03/08/2006, 10:06
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años
Puntos: 1
aprovecharos lo que podais de mi que mañana a las 3 (hora española jaja) pillo 15 dias de vacaciones
__________________
ALOZORRO v5.0 (ahora en .es)
  #5 (permalink)  
Antiguo 03/08/2006, 10:18
 
Fecha de Ingreso: julio-2006
Mensajes: 24
Antigüedad: 11 años, 4 meses
Puntos: 0
hola, lo cheque y las funciones solo abren el archivo, como seria para escribir en el archivo, como reemplazo una linea del archivo por otra, es decir quitar la que tenia inicialmente y cambiarla por la nueva que tendria la frase reemplazada.
  #6 (permalink)  
Antiguo 03/08/2006, 10:44
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años
Puntos: 1
si no te lo sobreescribe es que tienes que darle permisos de escritura a ese archivo, porque el codigo está probado y funciona: se lee el archivo se intercambian caracteres o palabras y se escribe de nuevo...
__________________
ALOZORRO v5.0 (ahora en .es)
  #7 (permalink)  
Antiguo 03/08/2006, 13:20
 
Fecha de Ingreso: julio-2006
Mensajes: 24
Antigüedad: 11 años, 4 meses
Puntos: 0
Graxias por tu ayuda
que disfrutes tus vacaciones byes
  #8 (permalink)  
Antiguo 04/08/2006, 02:30
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años
Puntos: 1
jajaja.. de nada..

gracias .. solo quedan 6 horitas. .jaja
__________________
ALOZORRO v5.0 (ahora en .es)
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:57.