ARTICULOS

Links aleatorios con CGI

Autor: Leandro I. Burgoa (http://www.elanime.com.ar) - 21/04/2003

El funcionamiento es simple, hay una base de datos en un archivo de texto con los links y un programa CGI que consulta esta base de datos y selecciona en forma aleatoria uno de los enlaces.

Archivo: aleatorio.cgi

#!/usr/bin/perl
#
###############################################
# Editar #

$RandomLinkFile = "/turuta/cgi-bin/links.txt";

$UseLog = 0; #Usar log 0 = No; 1 = Yes
$RandomLogFile = "/turuta/cgi-bin/log.txt";

# No editar #
###############################################

    srand(time);
    open(LINKS,"$RandomLinkFile") || &Error("No se puede abrir archivo de links : $RandomLinkFile, Error $!\n");
    $NbLines = @LinkFile = <LINKS>;
    close(LINKS);

    $Url = $LinkFile[int rand $NbLines];

    if ($UseLog) {
        @date = localtime(time); $date[4]++; $date[5] += 1900;
        $Time = "$date[4]/$date[3]/$date[5]";
        open(LOG,">>$RandomLogFile") || &Error("No se puede escribir log : $RandomLogFile, Error $!\n");
        print LOG "[$Time] - $ENV{'REMOTE_HOST'} -> $Url\n";
        close(LOG);
    }

    print "Location: $Url\n\n";

sub Error {
    my($ErrorText) = @_;
    print "Content-type: text/html\n\n";   
    print "Error: ".$ErrorText;
    exit;
}

Archivo: links.txt

http://www.sitio1.com
http://www.sitio2.com
http://www.sitio3.com
http://www.sitio4.com
http://www.sitio5.com

Los archivos aleatorio.cgi y links.txt tienen que estar en el mismo directorio dentro de la carpeta cgi-bin.

aleatorio.cgi > ASCII > CHMOD 777
links.txt > ASCII > CHMOD 777

Ejemplo funcional: http://www.elanime.com.ar/cgi-bin/aleatorio.cgi

Hacerlo funcionar: Hacer un vínculo al programa cgi.

Ejemplo: <a href="http://www.tusitio.com/cgi-bin/aleatorio.cgi">Link aleatorio</a>

 

Más artículos sobre CGI

1. Instalación de los foros YaBB
2. Links aleatorios con CGI
3. Rotación de banners con CGI
4. Redirección de acuerdo a la resolución de la pantalla
Más artículos...

Otros artículos...

Marketing 10 trucos y técnicas para Adsense
PHP Creando sitio con forma modular
XML ¿Qué es la Sindicación de Contenidos?
Marketing Técnicas prohibidas en posicionamiento
Usabilidad Formularios usables
ASP Creando una galería de fotos
Servidores Instalación de phpdev en Windows
ASP.net Detectar país del usuario
Accesibilidad El uso adecuado de los colores
Photoshop Botones hundidos con Photoshop
Más artículos...