Main Menu

CONTADOR DE VISITAS

Started by Zcarpa, September 23, 2006, 02:20:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Zcarpa

Hacer un contador que imprima en flash, las veces que se ha entrado a una página, es sumamente sencillo
La columna vertebral del contador se encuentra en php.


Código del archivo counter.php
<?php
       $archivo = "contador.txt";
       $abre = fopen($archivo, "r");
       $total = fread($abre, filesize($archivo));
       fclose($abre);
       $abre = fopen($archivo, "w");
       $total = $total + 1;
       $grabar = fwrite($abre, $total);
       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

CODIGO FUENTE:
http://mx.geocities.com/adamanthyum_hozt/contador.zip
Shady Hozt