Foros del Web » Programando para Internet » PHP »

Editar archivo PHP

Estas en el tema de Editar archivo PHP en el foro de PHP en Foros del Web. Saludos querid@s amig@s de este pequeño universo de mentes brillantes hispanoamericanas, se que el titulo de mi tema, parece un poco tonto, pero no lo ...
  #1 (permalink)  
Antiguo 27/09/2010, 10:41
Avatar de kovers  
Fecha de Ingreso: junio-2008
Ubicación: Caracas
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 0
Editar archivo PHP

Saludos querid@s amig@s de este pequeño universo de mentes brillantes hispanoamericanas, se que el titulo de mi tema, parece un poco tonto, pero no lo es, sucede lo siguiente: necesito editar la fuente de un archivo que contiene código php, desde una función obviamente escrita en código php, la cuestión es, que no edita lo que quiero que edite, espero atentamente sus respuestas y ayudas, lo que estoy haciendo es lo siguiente:

Código PHP:
    $file fopen (RUTA_DEL_ARCHIVO"r");
    
$v=0;
    while (!
feof($file)) 
    {    
    
    
$linea fgets($file);
    
$cadena[$v]=$linea;
    
    
$v++;    
    
        }
    
fclose ($file); 
                            
                
//CADENA QUE QUIERO EDITAR
        
$busqueda "\n\t\t\$_SESSION['id_sitio'] = \$_GET['id_sitio']";
        
$indice 0;
                            
        while(
$indice count($cadena)-1)
        {
            
//COMPARO Y EDITO
            
if($busqueda == $cadena[$indice])
            {
                
$cadena[$indice] = "\n\t\t\$_SESSION['id_sitio'] = " VALOR_DISTINTO;
                
$editado true;
            }
                
$contenido $cadena[$indice];
                
                echo 
$contenido '<br/>';
                
                
$indice++;
        }
                            
        
//Abrimos el archivo en modo escritura "w+"
        
$funcionAbrir fopen(RUTA_DEL_ARCHIVO,"w+");

        
//Procedemos a escribir el archivo segun el contenido
        
fwrite($funcionAbrir$contenido1024);

        
fclose($funcionAbrir); 
NECESITO AYUDA
  #2 (permalink)  
Antiguo 27/09/2010, 11:05
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 19 años
Puntos: 5
Respuesta: Editar archivo PHP

eh visto tu funciona por arriba,
cuando recorres el while($indice < count($cadena)-1)
lo que te tira en pantalla con la funcion
echo $contenido . '<br/>';

es correcto, es lo que quieres guardar archivo?

noto que solo te guardare el ultimo resultado del while
$contenido = $cadena[$indice];

tendrias que poner esto
$contenido .= $cadena[$indice];
  #3 (permalink)  
Antiguo 27/09/2010, 15:37
Avatar de kovers  
Fecha de Ingreso: junio-2008
Ubicación: Caracas
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Editar archivo PHP

Chevere gracias por responder, es cierto lo que dices, pero aun así no hace lo que quiero, pareciera que no entrara al if donde compara la cadena de caracteres que quiero cambiar.
  #4 (permalink)  
Antiguo 27/09/2010, 16:41
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Editar archivo PHP

Yo lo haría de otra forma:

Sólo cambia las 3 primeras variables por el archivo a editar, la cadena que quieres buscar y la cadena con el cambio.
Eso sí, para tus búsquedas ten en cuenta bien los /t los /n comillas etc ya que pueden hacer que no se encuentre coincidencia.

Código PHP:
<?php    
        $archivo
="nombre archivo.php";
        
$buscar="blablabla";
        
$cambiar="abcdefg";
        
        
$texto="";

        
//contenido del fichero
        
$contenido file($archivo);    
        foreach(
$contenido as $linea)
               
$texto.=$linea;
        
        
//remplazar cadena    
        
$texto str_replace($buscar,$cambiar,$texto);    
        
        
//abrimos el fichero en modo escritura    
        
$fp fopen($archivo,"w") or die('No se pudo abrir el archivo'); 
        
        
//escribimos en el fichero
        
fwrite($fp$texto);
        
        
//cerramos el fichero
        
fclose($fp);        
?>
Un saludo.
  #5 (permalink)  
Antiguo 28/09/2010, 10:07
Avatar de kovers  
Fecha de Ingreso: junio-2008
Ubicación: Caracas
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Editar archivo PHP

Cierto tienes mucha razón, e incluso tu manera de resolver el problema es mas corta, fácil y practica, solo tengo un nuevo pequeño problemita: haciendo la prueba del código en un archivo de prueba (es decir en un archivo externo que contiene este código que me haz proporcionado) funciona perfectamente, peeeero cuando coloco el código dentro del modulo y archivo correspondiente, es decir: (/SISTEMA/MODULO/CODIGO_FUENTE) me da el siguiente error:

Código:
Warning: file(...) [function.file]: failed to open stream: No such file or directory in ...

Warning: fopen(...) [function.fopen]: failed to open stream: No such file or directory in ...

No se pudo abrir el archivo
e incluso, coloco la ruta correctamente: ../OTRO_MODULO/ARCHIVO_A_CAMBIAR

Etiquetas: Ninguno
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:54.