refs #5576 perf update script.pl
This commit is contained in:
parent
166f25470d
commit
b1d5a62aa5
|
@ -2,30 +2,65 @@
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use CGI;
|
|
||||||
use Digest::SHA qw(sha1_hex);
|
use Digest::SHA qw(sha1_hex);
|
||||||
|
use CGI;
|
||||||
|
|
||||||
my $cgi = CGI->new;
|
my $cgi = CGI->new;
|
||||||
my $input_string = $cgi->param('name') || "Hola, mundo!";
|
my $input_name = $cgi->param('name') || "default";
|
||||||
my $input_value = $cgi->param('value') || "Hola, mundo!";
|
my $input_value = $cgi->param('value') || "default";
|
||||||
|
my $new_path;
|
||||||
|
|
||||||
# Calcula el valor hash MD5 del string
|
# Dividir la ruta usando el símbolo "/" para extraaer el nombre del archivo SIN extension
|
||||||
my $hash_value = sha1_hex($input_string);
|
my $fileName= (split('/', $input_name))[-1];
|
||||||
# Obtiene solo los 2 primeros caracteres del hash MD5
|
# Dividir la ruta usando el símbolo "/" para extraaer el nombre del archivo CON extension
|
||||||
my $first_characters = substr($hash_value, 2, 2);
|
my $file= (split('/', $input_value))[-1];
|
||||||
# Obtiene solo los 2 segundos caracteres del hash MD5
|
my $exists = -e "$input_value";
|
||||||
my $second_characters = substr($hash_value, 0, 2);
|
# print $exists;
|
||||||
my $new_path ="images/transform/$first_characters/$second_characters/$input_value";
|
# $exists = -e "$input_value";
|
||||||
# Imprime el resultado
|
# print $exists;
|
||||||
# Establecer el tipo de contenido a imagen JPEG
|
if($exists) {
|
||||||
print "Content-type: image/jpeg\n\n";
|
# print "Content-type: text/html\n\n";
|
||||||
|
$new_path ="$input_value";
|
||||||
|
# print "<h1>$new_path</h1>";
|
||||||
|
} else {
|
||||||
|
# Calcula el valor hash MD5 del string
|
||||||
|
my $hash_value = sha1_hex($fileName);
|
||||||
|
# Obtiene solo los 2 primeros caracteres del hash MD5
|
||||||
|
my $first_characters = substr($hash_value, 0, 2);
|
||||||
|
# Obtiene solo los 2 segundos caracteres del hash MD5
|
||||||
|
my $second_characters = substr($hash_value, 1, 2);
|
||||||
|
$new_path ="images/$first_characters/$second_characters/$file";
|
||||||
|
# Imprime el resultado
|
||||||
|
# Establecer el tipo de contenido a imagen JPEG
|
||||||
|
# print "Content-type: text/html\n\n";
|
||||||
|
# print "<h1>Ultimo elemento es: $fileName</h1>";
|
||||||
|
# print "<h1>input_name==>$input_name</h1>";
|
||||||
|
# print "<h1>input_value==>$input_value</h1>";
|
||||||
|
# print "<h1>fileName==>$fileName</h1>";
|
||||||
|
# print "<h1>file==>$file</h1>";
|
||||||
|
# print "<h1>hash_value==>$hash_value</h1>";
|
||||||
|
# print "<h1>first_characters==>$first_characters/$second_characters/$input_value</h1>";
|
||||||
|
# print "<h1>new_path==>$new_path</h1>";
|
||||||
|
|
||||||
# Abre la imagen en modo binario
|
# Abre la imagen en modo binario
|
||||||
open my $imagen, '<', $new_path or die "No se pudo abrir la imagen: $!";
|
|
||||||
|
|
||||||
# Imprime los bytes de la imagen directamente en la salida estándar
|
# open my $imagen, '<', $new_path or die "No se pudo abrir la imagen: $!";
|
||||||
binmode STDOUT;
|
|
||||||
print while <$imagen>;
|
|
||||||
|
|
||||||
# Cierra el archivo
|
}
|
||||||
close $imagen;
|
# Verifica si $imagen está definida antes de intentar usarla
|
||||||
|
if (defined $new_path) {
|
||||||
|
abrir_imagen($new_path);
|
||||||
|
# print "<h1>HOLA</h1>";
|
||||||
|
}
|
||||||
|
sub abrir_imagen {
|
||||||
|
my ($ruta) = @_;
|
||||||
|
print "Content-type: image/jpeg\n\n";
|
||||||
|
open my $imagen, '<', $ruta or die "No se pudo abrir la imagen: $!";
|
||||||
|
|
||||||
|
# Imprime los bytes de la imagen directamente en la salida estándar
|
||||||
|
binmode STDOUT;
|
||||||
|
print while <$imagen>;
|
||||||
|
|
||||||
|
# Cierra el archivo
|
||||||
|
close $imagen;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue