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.
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]
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários