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.
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?
Inicia sesión
¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?
Registrate