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

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

Re: [shell-script] upload


From: Gustavo - Minoica
Subject: Re: [shell-script] upload
Date: Thu, 6 Nov 2003 10:11:07 -0200

----- Original Message -----
From: "Thobias Salazar Trevisan" <address@hidden>
To: <address@hidden>
Sent: Wednesday, November 05, 2003 3:00 PM
Subject: Re: [shell-script] upload



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
|
----------------------------


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------


Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html




[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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