Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Escritura en archivos con PHP


Cómo y para qué usar la función fwrite.


01/9/01 - Siguiendo con la gestión de archivos por medio de PHP, en este artículo veremos los pasos elementales para la creación y escritura de un archivo texto por medio de esta tecnología de lado servidor. Tras haber visto como funciona la lectura secuencial de un archivo, podemos imaginar que escribir sobre éste no debe de resultar mucho más complicado.

Por otra parte, las posibilidades que estas dos operaciones nos pueden ofrecer conjuntamente son realmente sorprendentes. Sin ir más lejos, y guardando las distancias, escribir y leer archivos puede en cierta manera sustituir muy primariamente a una base de datos. En efecto, si por diversas razones (hosting, presupuesto, conocimientos...) nos resulta difícil la puesta en marcha de una base de datos elemental, siempre podremos solventar el inconveniente almacenando nuestros datos en archivos que luego podrán ser leídos. Por supuesto, este método no tiene nada de seguro ni de versátil y sólo es valido para un sitio sin información confidencial y con poca cantidad de datos.

Podemos pensar también en crear documentos dinámicos a partir de datos introducidos en un formulario: cartas, páginas HTML y otros.

Otro ejemplo particularmente práctico es la creación dinámica de archivos que nos ahorren recursos de servidor. Imaginemos que tenemos una página, o archivo, en nuestro sitio que carga muy frecuentemente y que realiza constantemente llamadas a bases de datos o ejecuta scripts medianamente largos. Si el contenido que estamos mostrando es el mismo para todos los usuarios y no tiene necesidad de ser actualizado constantemente, podemos contentarnos con crear un script accesorio que ejecute una única vez el script principal y que almacene su resultado en forma de archivo HTML que será en realidad el que mostraremos a nuestros visitantes. De esta forma, evitamos por una parte la ejecución masiva de un mismo script con el consiguiente ahorro de recursos y por otra automatizamos la actualización de una determinada página o sección ejecutando periódicamente el script accesorio.

La escritura de archivos pasa, como es de esperar, por la previa apertura de archivo en un modo apropiado. Una vez abierto, el paso siguiente será introducir por medio de la función fwrite, o su alias fputs, la cadena que deseamos incluir en nuestro archivo.

Para ejemplificar esta nueva función de escritura y combinarla con la de lectura, fgets, os proponemos este contador inspirado en una nota de la página oficial de PHP:

<?
function incremento_contador($archivo)
{
// $archivo contiene el numero que actualizamos
$contador = 0;

//Abrimos el archivo y leemos su contenido
$fp = fopen($archivo,"r");
$contador = fgets($fp, 26);
fclose($fp);

//Incrementamos el contador
++$contador;

//Actualizamos el archivo con el nuevo valor
$fp = fopen($archivo,"w+");
fwrite($fp, $contador, 26);
fclose($fp);

echo "Este script ha sido ejecutado $contador veces";
}

?>

Aquí podéis ver el resultado producido cuando llamamos a esta función.

Como en otros ejemplos, el script es expresado en forma de función para que sea más sencilla su reutilización. Las etapas que llevamos a cabo son verdaderamente cortas y comprensibles:

  • Iniciamos nuestra variable contador.
  • Abrimos el archivo en modo lectura y extraemos el valor actual del contador leyendo la primera y única línea. Cerramos el archivo.
  • Aumentamos de una unidad el valor de contador.
  • Abrimos el archivo y lo sobrescribimos (modo +w) con el valor contador modificado.
Ni que decir tiene que para que este tipo de scripts funcionen, el archivo al que queremos acceder ha de estar autorizado para lectura y escritura.

La función fwrite puede ser utilizada también para enviar datos en otros tipos de aperturas como son las de sockets o de programas. Pero esto ya es otra historia...

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 2 categorias relacionadas
+ 4 comentarios (Añadir)
+ 14 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Rubén Alvarez*

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Gestión de archivos en PHP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en PHP
+ Entrar en Scripts en PHP


 Comentarios de los visitantes
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
Se muestran 4 comentarios revisados

 Comentario de Juan Manuel
31/3/02 
La clave de escribir en un archivo son las autorizaciones, porque la web está para leer, pero escribir sólo lo puede hacer normalmente el administrador de la página. Sería conveniente explicar un poco mejor quién y cómo se puede autorizar a los usuarios a acceder a la lectura y escritura de un archivo.

Respuesta rápida:

Si tenéis problemas a la hora de escribir en un archivo, efectivamente, es que estará protegido contra escritura. O bien el archivo o bien el directorio.

Si tenéis vuestro propio servidor tendréis que modificar los permisos de tal archivo o directiorio por vosotros mismos. Sin embargo, si estáis publicando en un alojamiento contratado en un proveedor tendréis que enteraros de qué mecanismo hay que poner en marcha en ese proveedor para conseguir los permisos. En muchos casos existirá un panel de control donde modificar esas cosas, en otros casos tendréis que escribir a soporte técnico para que lo hagan a mano éllos o os digan cómo hacerlo, si es que es posible.


 Comentario de Daniel Guajardo
11/8/02 
Con este artículo, como ha quedado más o menos señalado, se puede hacer fácilmente un contador. He realizado algunas modificaciones que se pueden ver en otro artículo de DesarrolloWeb: Contador simple para páginas PHP.

 Comentario de Anip
19/2/03 
Los permisos se pueden cambiar desde una shell con "chmod".
Una buena idea es hacer un "CAJA DE SUGERENCIAS" en el que el usuario deja un mensaje/sugerencia, con su respectivo nick, esto se le puede sumar de usar password.. claro que aqui necesitariamos MySQL o una base de datos similar.
Tambien se puede hacer para una facil configuracion, en mi site tengo una marquesina que muestra la ultima noticias importante. Luego tengo otra hecha con JavaScript que corre verticalmente que tiene noticias de la semana, importantes o no importantes. Ambas la actualizo desde una pagina ajena, simplemente escribo y le mando ENVIAR y listo!.
Se le pueden encontrar muchas mas utilidades!
Chau. Argentina

 Comentario de Fernando
26/1/04 
Creo que la utilidad mas importante, que aqui no se menciona es la posibilidad de migrar datos de una base de datos al excel.

Añadir un comentario al artículo Añadir un comentario del artículo
 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 14 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Gestión de archivos en PHP
Categorías
+PHP
+Scripts en PHP

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia