escribir en archivo sin sobreescribir

rorschach
26 de Abril del 2005
Saludos. Debo escribir sobre un archivo ya existente mediante una aplicació web y no tengo problemas cuando el texto introducido es de longitud menor o igual, pero si es mayorse carga lo que viene después.

Hago un file para guardar las lineas en archivos, y un fopen en r+ para leer y escribir. El fwrite machacalo que venga después. No se si puedo insertar espacios en blanco antes para completar la longitud del nuevo texto o algo así

Uso PHP 5, el de la última versión de XAMPP

Gracias

damian
26 de Abril del 2005
esto es lo que necesitas para escribir en un fichero:
<?
$test = "escribiendo";
$texto = "$testrn";

$fp = fopen("registro.dat","a");
fputs($fp,$texto);
fclose($fp);
?>

puedes modificar "a" según tus necesidades:

'r' - Abre para sólo lectura; sitúa el apuntador del fichero al comienzo del mismo.

'r+' - Abre para lectura y escritura; situa el apuntador del fichero al comienzo del fichero.

'w' - Abre para sólo escritura; sitúa el apuntador del fichero al comienzo del fichero y trunca el fichero con longitud cero. Si el fichero no existe, trata de crearlo.

'w+' - Abre el fichero para lectura y escritura; sitúa el apuntador del fichero al comienzo del fichero y trunca el fichero con longitud cero. Si el fichero no existe, trata de crearlo.

'a' - Abre sólo para escribir (añadir); sitúa el apuntador del fichero al final del mismo. Si el fichero no existe, trata de crearlo.

'a+' - Abre para lectura y escritura (añadiendo); sitúa el apuntador del fichero al final del mismo. Si el fichero no existe, trata de crearlo.

espero te sirva,
saludos,
damian

susana
26 de Abril del 2005
Escribe una variable en la que metas todo el texto del doumento que quieras escribir y luego hazlo como lo estas haciendo.

Si utilizas el modo "a" de abrir el archivo podrás escribir en el documento sin sobrescribirlo pero solo al final de mismo...

:)