Comunidad de diseño web y desarrollo en internet

Contador de visitas en Flash

Hacer un contador que imprima en flash, las veces que se ha entrado a una página, es sumamente sencillo, como veremos a continuación, además que esta forma, es una de tantas , acerca de como hacerlo.

La columna vertebral del contador se encuentra en php, él hara todo el trabajo sucio:

Código del archivo counter.php















<?php
       // Declaramos el archivo, en donde se acumulará el numero de visitas.
       $archivo = "contador.txt";
       // Abrimos el archivo como solo de lectura 
       $abre = fopen($archivo, "r");
       // Leemos el contenido del archivo, cabe decir que la función fread(int fp, int length), lo que hace, es leer hasta length 
       //bytes del archivo referenciado en el apuntador fp. 
       $total = fread($abre, filesize($archivo));
       // Una vez leido cerramos la conexión al archivo.
       fclose($abre);
       // Abrimos nuevamente el archivo,pero ahora para agregar datos.
       $abre = fopen($archivo, "w");
       // Cada vez que se muestre la página, que se acumule una visitas, o sea aumentamos el contador en 1, cada vez. 
       $total = $total + 1;
       // Y reemplazamos el antiguo valor, por la nueva cantidad de visitas.
       $grabar = fwrite($abre, $total);
       // Cerramos la conexión al archivo (Ahora si es la última).
       fclose($abre);
     ?>

Bueno, aquí concluimos con el php, lo siguiente es mostrar el valor de la variable $total, en flash; para ello tenemos dos alternativas Loadvars, o FlashVars.

Aquí va con FlashVars, abre un nuevo archivo.fla y pon el siguiente código en el primer frame... (En mi caso, la hice de 250 x 50)

Código del archivo flash_counter.fla

//creamos una caja de texto 
	_root.createTextField("counter_txt",12369,10,10,100,30);
	counter_txt.border = true;
//Le asignamos a la caja de texto, el valor de la variable declarada desde FlashVars llamada counter 
	counter_txt.text = _root.counter;

Publicamos la película (swf y html) y localizamos en el documento html, generado por flash las siguientes líneas y les agregamos el texto en negritas.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="250" height="50" id="flash_counter" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="flash_counter.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="Flashvars" value="counter=<?print($total);?>" />
<embed src="flash_counter.swf" Flashvars="counter=<?print($total);?>" quality="high" bgcolor="#FFFFFF" width="250" height="50" name="flash_counter" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object>

He puesto todo el código para embeber el objeto swf, para que no haya confusiones, de donde deben ir los parametros de FlashVars.

Ahora, como veremos, la línea:

<?print($total);?> 

es una inserción de código php, por lo que nuestro documento contenedor de la película, deberá ser un documento .php.

Abrimos con algún editor de texto plano, o nuestro editor web preferido, el archivo html generado por flash y al principio del mismo agregamos la siguiente línea de código:

<?php include("counter.php"); ?>

Despues nos vamos a la opción de guardar como: (en mi caso utilice el block de notas) y escribimos flash_counter.php, o sea como un documento .php. Luego; ponen los archivos (flash_counter.php, flash_counter.swf, counter.php y contador.txt) en un servidor con soporte PHP y listo. Obviamente puedes mejorar, la forma de mostrar los datos en flash, puedes hacer un delay, hacer que se muestren letra por letra, rodando saltando y explotando etc....aqui el límite es tu imaginación, y como todo buen libro de matemáticas, la demostración de todo esto, se deja al lector.

Espero que sea de utilidad.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Descargar Archivo

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate