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...

HTML Tips para diseñar newsletters
Java Script Mensajes en la barra de estado en los links
Java Script Evitar el doble envío de un formulario
Bases de Datos Instalación de un servidor PostgreSQL bajo Linux
HTML Personalizar el icono de favoritos
Java Script Informar cantidad de caracateres
WML WAP Introducción al WML
Hojas de Estilo Menus simples con CSS y listas
PHP Utilizar PHP en FrontPage 98
Marketing Buen uso de las etiquetas Meta
Más artículos...