shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] upload


From: Thobias Salazar Trevisan
Subject: Re: [shell-script] upload
Date: Wed, 5 Nov 2003 15:00:49 -0200 (BRST)

ae renato,

On Wed, 5 Nov 2003, sinukeiru wrote:

> Olá a todos, estou precisando de algum sistema de upload, andei
> olhando o sistema do Thobias,
> http://www.lcp.coppe.ufrj.br/~thobias/scr/cgi_shell.html
>
> mas ele nao funcionou bem com imagens, somente com arquivos texto.
>
> se alguem tiver outro link ou puder postar algum shellscript para
> upload, agradeco.

o 'problema' do script de upload que está na minha página é que
eu uso um echo para colocar o conteúdo de $VAR para o arquivo
final. Como é binário, o echo faz algumas cacas e detona o
arquivo. uma saída simples é usar um arquivo temporário ao
contrário de $VAR. + - assim:

$ cat upload.cgi
#!/bin/bash

echo "content-type: text/html"
echo
echo
echo "<html> <head> <title> CGI script </title> </head>"
echo "<body><pre>"
# pegamos o boundary
boundary=$(export | sed '/CONTENT_TYPE/!d;s/^.*dary=//;s/.$//')

# arquivo temporário
TEMP="/tmp/upload_tmp_$(echo $RANDOM)"

# pegamos toda a entrada do POST e colocamos em um arquivo temporário
sed -n '1,$p' > $TEMP

# pegamos o nome do arquivo que foi feito o upload
FILENAME=$(cat $TEMP | sed -n '2!d;s/\(.*filename=\"\)\(.*\)\".*$/\2/;p')

# pegamos somente o conteudo do arquivo do upload
cat $TEMP | sed -n "1,/$boundary/p" | sed '1,4d;$d' > "/tmp/$FILENAME"

echo "Nome do arquivo : $FILENAME"
echo "</pre></body></html>"
rm -f ${TEMP:-aaaaaaaaaaaaa}

falow

thobias
-------
echo 133449562074222244746332132269002206986P | dc
-------
http://thobias.org

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------


reply via email to

[Prev in Thread] Current Thread [Next in Thread]