Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/02/2005, 19:55
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 22 años, 10 meses
Puntos: 1
el problema de los módulos gráficos que da el cpan (sino estoy mal el mejor es el GD) es la instalación, estoy trabajando en un servidor IRIX64 OS5, acerca del manejo de xbm encontré un ejemplo de un contador este es el código por sí a alguien le interesa
Código PHP:
#!/usr/bin/perl
# X-BITMAP

#Digitos en XBM
$num{0,0} =  "0xf0,0x0f";
$num{0,1} =  "0xf0,0x0f";
$num{0,2} =  "0x0c,0x30";
$num{0,3} =  "0x0c,0x30";
$num{0,4} =  "0x0c,0x30";
$num{0,5} =  "0x0c,0x30";
$num{0,6} =  "0x0c,0x30";
$num{0,7} =  "0x00,0x00";
$num{0,8} =  "0x00,0x00";
$num{0,9} =  "0x0c,0x30";
$num{0,10} = "0x0c,0x30";
$num{0,11} = "0x0c,0x30";
$num{0,12} = "0x0c,0x30";
$num{0,13} = "0x0c,0x30";
$num{0,14} = "0xf0,0x0f";
$num{0,15} = "0xf0,0x0f";

$num{1,0} =  "0x00,0x00";
$num{1,1} =  "0x00,0x00";
$num{1,2} =  "0x00,0x30";
$num{1,3} =  "0x00,0x30";
$num{1,4} =  "0x00,0x30";
$num{1,5} =  "0x00,0x30";
$num{1,6} =  "0x00,0x30";
$num{1,7} =  "0x00,0x00";
$num{1,8} =  "0x00,0x00";
$num{1,9} =  "0x00,0x30";
$num{1,10} = "0x00,0x30";
$num{1,11} = "0x00,0x30";
$num{1,12} = "0x00,0x30";
$num{1,13} = "0x00,0x30";
$num{1,14} = "0x00,0x00";
$num{1,15} = "0x00,0x00";

$num{2,0} =  "0xf0,0x0f";
$num{2,1} =  "0xf0,0x0f";
$num{2,2} =  "0x00,0x30";
$num{2,3} =  "0x00,0x30";
$num{2,4} =  "0x00,0x30";
$num{2,5} =  "0x00,0x30";
$num{2,6} =  "0x00,0x30";
$num{2,7} =  "0xf0,0x0f";
$num{2,8} =  "0xf0,0x0f";
$num{2,9} =  "0x0c,0x00";
$num{2,10} = "0x0c,0x00";
$num{2,11} = "0x0c,0x00";
$num{2,12} = "0x0c,0x00";
$num{2,13} = "0x0c,0x00";
$num{2,14} = "0xf0,0x0f";
$num{2,15} = "0xf0,0x0f";

$num{3,0} =  "0xf0,0x0f";
$num{3,1} =  "0xf0,0x0f";
$num{3,2} =  "0x00,0x30";
$num{3,3} =  "0x00,0x30";
$num{3,4} =  "0x00,0x30";
$num{3,5} =  "0x00,0x30";
$num{3,6} =  "0x00,0x30";
$num{3,7} =  "0xf0,0x0f";
$num{3,8} =  "0xf0,0x0f";
$num{3,9} =  "0x00,0x30";
$num{3,10} = "0x00,0x30";
$num{3,11} = "0x00,0x30";
$num{3,12} = "0x00,0x30";
$num{3,13} = "0x00,0x30";
$num{3,14} = "0xf0,0x0f";
$num{3,15} = "0xf0,0x0f";

$num{4,0} =  "0x00,0x00";
$num{4,1} =  "0x00,0x00";
$num{4,2} =  "0x0c,0x30";
$num{4,3} =  "0x0c,0x30";
$num{4,4} =  "0x0c,0x30";
$num{4,5} =  "0x0c,0x30";
$num{4,6} =  "0x0c,0x30";
$num{4,7} =  "0xf0,0x0f";
$num{4,8} =  "0xf0,0x0f";
$num{4,9} =  "0x00,0x30";
$num{4,10} = "0x00,0x30";
$num{4,11} = "0x00,0x30";
$num{4,12} = "0x00,0x30";
$num{4,13} = "0x00,0x30";
$num{4,14} = "0x00,0x00";
$num{4,15} = "0x00,0x00";

$num{5,0} =  "0xf0,0x0f";
$num{5,1} =  "0xf0,0x0f";
$num{5,2} =  "0x0c,0x00";
$num{5,3} =  "0x0c,0x00";
$num{5,4} =  "0x0c,0x00";
$num{5,5} =  "0x0c,0x00";
$num{5,6} =  "0x0c,0x00";
$num{5,7} =  "0xf0,0x0f";
$num{5,8} =  "0xf0,0x0f";
$num{5,9} =  "0x00,0x30";
$num{5,10} = "0x00,0x30";
$num{5,11} = "0x00,0x30";
$num{5,12} = "0x00,0x30";
$num{5,13} = "0x00,0x30";
$num{5,14} = "0xf0,0x0f";
$num{5,15} = "0xf0,0x0f";

$num{6,0} =  "0xf0,0x0f";
$num{6,1} =  "0xf0,0x0f";
$num{6,2} =  "0x0c,0x00";
$num{6,3} =  "0x0c,0x00";
$num{6,4} =  "0x0c,0x00";
$num{6,5} =  "0x0c,0x00";
$num{6,6} =  "0x0c,0x00";
$num{6,7} =  "0xf0,0x0f";
$num{6,8} =  "0xf0,0x0f";
$num{6,9} =  "0x0c,0x30";
$num{6,10} = "0x0c,0x30";
$num{6,11} = "0x0c,0x30";
$num{6,12} = "0x0c,0x30";
$num{6,13} = "0x0c,0x30";
$num{6,14} = "0xf0,0x0f";
$num{6,15} = "0xf0,0x0f";

$num{7,0} =  "0xf0,0x0f";
$num{7,1} =  "0xf0,0x0f";
$num{7,2} =  "0x00,0x30";
$num{7,3} =  "0x00,0x30";
$num{7,4} =  "0x00,0x30";
$num{7,5} =  "0x00,0x30";
$num{7,6} =  "0x00,0x30";
$num{7,7} =  "0x00,0x00";
$num{7,8} =  "0x00,0x00";
$num{7,9} =  "0x00,0x30";
$num{7,10} = "0x00,0x30";
$num{7,11} = "0x00,0x30";
$num{7,12} = "0x00,0x30";
$num{7,13} = "0x00,0x30";
$num{7,14} = "0x00,0x00";
$num{7,15} = "0x00,0x00";

$num{8,0} =  "0xf0,0x0f";
$num{8,1} =  "0xf0,0x0f";
$num{8,2} =  "0x0c,0x30";
$num{8,3} =  "0x0c,0x30";
$num{8,4} =  "0x0c,0x30";
$num{8,5} =  "0x0c,0x30";
$num{8,6} =  "0x0c,0x30";
$num{8,7} =  "0xf0,0x0f";
$num{8,8} =  "0xf0,0x0f";
$num{8,9} =  "0x0c,0x30";
$num{8,10} = "0x0c,0x30";
$num{8,11} = "0x0c,0x30";
$num{8,12} = "0x0c,0x30";
$num{8,13} = "0x0c,0x30";
$num{8,14} = "0xf0,0x0f";
$num{8,15} = "0xf0,0x0f";

$num{9,0} =  "0xf0,0x0f";
$num{9,1} =  "0xf0,0x0f";
$num{9,2} =  "0x0c,0x30";
$num{9,3} =  "0x0c,0x30";
$num{9,4} =  "0x0c,0x30";
$num{9,5} =  "0x0c,0x30";
$num{9,6} =  "0x0c,0x30";
$num{9,7} =  "0xf0,0x0f";
$num{9,8} =  "0xf0,0x0f";
$num{9,9} =  "0x00,0x30";
$num{9,10} = "0x00,0x30";
$num{9,11} = "0x00,0x30";
$num{9,12} = "0x00,0x30";
$num{9,13} = "0x00,0x30";
$num{9,14} = "0xf0,0x0f";
$num{9,15} = "0xf0,0x0f";

$max_length 4;
$width 16*($max_length+1);
$height 16;

#archivo donde se va a guardar la cuenta
$countfile "counter.txt";
$srcfile $ENV{'QUERY_STRING'};
if (
$srcfile eq "") {
    
$srcfile="test";
}
$now_host $ENV{'REMOTE_ADDR'};
if (
$now_host eq "") {
    
$now_host="test";
}


if ( 
open(FILE"<$countfile") ) {
    @
file = <FILE> ;
    
close(FILE);
} else {
    print 
"Error : Counter File is not found!\n";
    
flock(LOCK8);
    
close(LOCK);
    exit(
1);
};
$joinedfile join'', @file ); 
@
count_ split(/n/,$joinedfile);
open(OUT">$countfile");
foreach 
$in (@count_) {
    (
$in_counter$hostname ,$checkfile) = split(/,/, $in3);
    if (
$checkfile eq $srcfile) {
        
$found_flag "yes";
        if (
$now_host ne $hostname ) {
            
$counter $in_counter+1;
        } else {
            
$counter $in_counter;
        };
        print 
OUT "$counter,$now_host,$srcfile\n";
    } else {
        print 
OUT "$in\n";
    }
}
if (
$found_flag ne "yes"){
    print 
OUT "1,$now_host,$srcfile\n";
};
close(OUT);
flock(LOCK8);
close(LOCK);

(
$sec,$min,$hour,$day,$mon,$year) = localtime(time);
$mon $mon 1
$year $year 1900 ;

open(LOCK"<counter.lock");
flock(LOCK2);
open(LOG">>COUNTLOG.TXT");
print 
LOG "$year/$mon/$day,$hour:$min:$sec , $ENV{'QUERY_STRING'} , $ENV{'REMOTE_ADDR'} , $ENV{'HTTP_USER_AGENT'} , $ENV{'HTTP_REFERER'}\n";
close(LOG);
flock(LOCK8);
close(LOCK);

print <<
EOF;
Content-typeimage/x-xbitmap

#define cg_width $width
#define cg_height $height
static char cg_bits[] = {
EOF
foreach $a (0..15) {
    
$count__ sprintf("%05d",$counter);
    foreach 
$i (0..$max_length) {
        
$num_ substr($count__,$i,1);
        print 
"$num{$num_ , $a},";
    }
    print 
"\n";
}
print 
"}\;\n\n";
__END__ 
__________________
"SJ