Newsgroup: it.comp.lang.perl
Titolo: ricevere un file da un form

sono autodidatta e quindi non praticissimo, avrei bisogno di gestire i file
inviati dall'utente attraverso un form, mi basta semplicemente salvarli sul
server, so come gestire i dati che arrivano dal form ma non il file binario
associato al tag <input type=file>
qualcuno sa come aiutarmi?
Grazie in anticipo
Max


   Digita, da linea di comando:
	$ perldoc CGI
e leggi attentamente la parte relativa all'upload di file.
-- 
Alla prossima,
Marco

 ha scritto nel messaggio
news:aignhr$uks$1...@newsreader.mailgate.org...


Nell'HTML:
<form action=/cgi-bin/
upload.pl
 enctype=multipart/form-data method=POST>
<input type=file name=file>
<input type=submit>
</form>
Nello Script:
#!perl
use CGI qw(:standard);
$q = new CGI;
$file = $q->param('file');
$file =~ /[\/\\](.+)$/;
$filename = $1;
open FILE, ">$filename";
binmode FILE;
while (read($file, $buf, 1024) {
    print FILE $buf;
}
close FILE;
close $file;
(attento al timeout dei CGI sui file grossi)
Ciao,
Guido.
"atomo." <atomo@neurone> ha scritto nel messaggio
news:7fR29.76435$C8.1...@tornado.fastwebnet.it...


grazie molte
mi spiegheresti questi 2 comandi?


 mi chiedo solo a cosa serva questo NG
   A spiegare dove cercare la documentazione. :)
-- 
Alla prossima,
Marco

 > in effetti c'è una documentazione molto ricca nell'help del perl, ci


 infastidita (il classico R.T.F.M.)
   Non era ne` sbrigativa, ne` infastidita. Ormai, il RTFM fa parte 
della cultura Usenet e (quasi) nessuno si sente offeso se ne diventa 
oggetto. In effetti, la documentazione distribuita con il Perl permette, 
virtualmente, di non avere bisogno di nessuno. Pero` non e` detto che il 
programmatore alle prime armi abbia la percezione di tutto cio`, per 
questo ben vengano le domande "trite" ed i RTFM. Dico bene? ;)
-- 
Alla prossima,
Marco

"atomo." <atomo@neurone> ha scritto nel messaggio
news:%EW29.76507$C8.1...@tornado.fastwebnet.it...

La variabile $file conterrà il nome completo di tutto il percorso del file
che sta per uploadare il client. Sarà quindi una cosa tipo
"C:\windows\desktop\nuova cartella\file.zip" (in caso di un windows) oppure
"/home/utente12/munnezza/file12.tar.gz" (in caso di un linux). Ma quando tu
andrai a salvare il file sul webserver, a te interessa solo il nome del file
senza il percorso. Questa espressione regolare sulla variabile $file cerca
tutto cio' che c'è dopo l'ultimo slash oppure backslash. E ne tira fuori
SOLO il nome del file.
Ciao,
Guido.

 questo ben vengano le domande "trite" ed i RTFM. Dico bene? ;)
Diciamo che dovrebbe essere nella coscienza di ogni programmatore ricorrere
PRIMA all'RTFM (come auto-consiglio) e poi chiedere aiuto a forum e ng. Ma
non sempre è cosi'. Roconosco che i manuali di Perl, proprio perché sono
cosi' vasti e completi, spesso risultano anche complicati da consultare. A
volte, io stesso, per cercare una soluzione mi perdo fra le pagine man... e
chiedo aiuto a Google :-)
Ciao!
Guido.

chiedo aiuto a Google :-)
Si`, e` un problema.
Mentre l'indice del Camel Book, come dice lo stesso Larry Wall, 
e` pensato per minimizzare il numero di riferimenti in avanti, 
lo stesso non si puo` dire per la documentazione inclusa in forma 
digitale inclusa nelle distribuzioni del perl. 
Un buon metodo e` usare Perldoc.com, ma non sempre si ha una
connessione ad Internet mentre si sta sviluppando. 
Ecco, Forse un progetto interessante e` qualcosa che permetta
off-line di fare ricerche in mezzo a tutti i .pod distribuiti
insieme a Perl: e, perche` no, in tutti i .pod dei moduli presenti
sulla macchina. Se esiste gia`, non ne sono a conoscenza.
ciao
Stefano

 ha scritto nel messaggio
news:WM839.35518$lu5.9...@twister1.libero.it...


digitale inclusa nelle distribuzioni del perl. 
Sorry. Togliete uno dei due "inclusa". Suggerisco di togliere
il primo :/
ciao
Stefano 

sulla macchina. Se esiste gia`, non ne sono a conoscenza.
Be', perldoc fa proprio questo, mi pare.
Ciao.