Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/05/2007, 04:49
rayder
 
Fecha de Ingreso: agosto-2004
Mensajes: 118
Antigüedad: 19 años, 9 meses
Puntos: 1
Re: generacion de un TXT desde un PHP

Bueno, así a voz de pronto, se me ocurre que sobreescribas el fichero de texto pero manteniendo parte de lo que tenias ya escrito.

Fijate en el código, ya que antes de sobreescribir genero una copia de seguridad.

Para probarlo, crea un fichero de texto con el nombre que quieras, yo lo he llamado "Fichero.txt", guardalo en el mismo directorio donde este el script.

Ejecuta el script llamando a la función con este mismo nombre de fichero.
Código PHP:
<?php

function Leerdatos_Fichero ($filename)
    {
    
$BytesDeLectura 1*(1024*1024); // Cantidad de bytes que serán leidos
    
$buffer '';
    
$handle fopen($filename'rb');
    
    if (
$handle === false)
     {
     return 
false;
     }
     
     while (!
feof($handle)) 
         {
        
$buffer fread($handle$BytesDeLectura);
        
        
///////////////////////////////////////////////////////////////////////////
        //Crear un copia de seguridad del contenido actual
        
$fp fopen("BK.".$filename"w+b"); 
         
//Escribir en el fichero
        
$Result fwrite($fp$buffer)or die("No se puede escribir en el fichero");
        
//Cerrar el fichero
        
fclose($fp);
        
///////////////////////////////////////////////////////////////////////////        
        
        
        //Extraemos las etiquetas del final
        
$TamCadena strlen($buffer) - 14;
        
$buffer substr($buffer0$TamCadena);
        
        
//Añadimos algo al fichero
        
$buffer .= "Estas líneas han sido añadidas a posterioridad.\r\n";
        
$buffer .= "Aparecerán por delante de las etiquetas.\r\n";
        
$buffer .= "Podrían haber sido añadidas desde una consula SQL.\r\n";
        
        
//Se vuelven a añadir las etiquetas extraidas anteriormente
        
$buffer .= "</g>\r\n";
        
$buffer .= "</svg>\r\n";
        
        
//Mostrar el contenido de $buffer en pantalla.
        //Esto no es necesario.
        
print $buffer;
        }
    
        
        
//Sobreescribir el fichero original
        
$fp fopen($filename"w+b"); 
         
//Escribir en el fichero
        
$Result fwrite($fp$buffer)or die("No se puede escribir en el fichero");
        
//Cerrar el fichero
        
fclose($fp);

    return 
fclose($handle);
    } 

//Llamar a la función
Leerdatos_Fichero("Fichero.txt");

?>
Pruebalo y ya nos comentarás.
Ten en cuenta que es sólo una idea de como hacerlo.