De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Troca de Imagens Automática em Páginas Web
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 10 de Agosto de 1999
A página principal do novo site da Unicamp exibe
a cada chamada uma figura diferente de uma parte do
Campus.
Esta facilidade foi implementada por meio de um
script CGI que seleciona aleatoriamente uma imagem.
A lista das imagens fica em um arquivo, onde cada
linha contem o nome de uma imagem.
A chamada ao script CGI na página se dá através da
seguinte diretiva:
<img src="http://www.unicamp.br/cgi-bin/unicamp/wrap.cgi"
alt="Conheça a Unicamp" width="200" height="167">
O script que realiza a carga da imagem chama-se wrap.cgi
e é bastante simples, como se pode ver abaixo:
#!/bin/ksh
# WRAP.CGI
# Queiroz/Gian 11/02/1999
# leitura do primeiro arquivo imagem de GIFLIST
# imagem aleatoria
LOWER=1
LENGTH=14
JPGn=perl -e "print int(rand($LENGTH+1))+$LOWER;"
JPG=sed -n -e ${JPGn}p giflist
echo "Expires: Friday, 30-Sep-94 12:00:00 GMT"
echo "Content-type: image/jpeg"
echo
cat $JPG
As variáveis LOWER e LENGTH indicam os valores
possíveis que podem ser atribuídos aleatoriamente
à variável JPGn, calculada utilizando-se a linguagem
perl.
A variável que contem o nome da imagem é JPG e seu valor
é atribuído com o comando sed. A flag -n indica que
o comando sed deve suprimir a saída padrão, e a flag
-e indica que o sed deve imprimir a linha correspondente
ao valor da variável JPGn. O comportamento padrão do
sed seria imprimir a linha selecionada duas vezes e
todas as demais linhas uma vez. Com a flag -n apenas
a linha selecionada é impressa. Este valor, por sua
vez, é atribuído à variável JPG.
O restante do script insere as linhas padrão para
comunicação com o servidor Web.
foi abordada anteriormente na Dicas-L nas mensagens
A dica do uso do perl para a geração do número aleatório
foi-nos fornecida por Eduardo Maçan [macan@thecore.com.br]