PDA

Visualizza la versione completa : upload file


roboro
02-11-2004, 16:46
Ciao a tutti,

qualcuno ha un semplice script per caricare i file su server gia pronto?

grazie
ciao

roboro
02-11-2004, 17:42
ho rovato cosi >

la pagina che prende il file da form e dovrebbe copiarlo su>

#!/usr/bin/perl

#Inclusioni


use MyCommon;
use strict "vars";

#Inizializzo la pagina HTML
print "Content-type: text/html\n\n";

my $file = GetParam("file");

print $file;

my $out = `cp $file /static/prova`;


ma non funziona, come faccio cosa sbaglio_


grazie

shishii
03-11-2004, 00:34
Ciao,

dai un occhiata alle pagine di spiegazione del modulo CGI.pm, oppure guarda questo codice che non è immediatamente funzionante, ma indicativo di quali funzioni usare:


open(OUTFILE, ">/directory_remota_del_server/file");

while ($Bytes = read($File_Handle,$Buffer,1024)) {
$BytesRead += $Bytes;
print OUTFILE $Buffer;
}
close OUTFILE;

Claudio Vituzzi
03-11-2004, 03:54
il file lo devi chiamare upload.cgi

(nota che devi creare una dir upload nella stessa dir che contiene lo script)




#!/usr/bin/perl

use strict;
use warnings;
use CGI;
use CGI::Carp "fatalsToBrowser";

my $q = new CGI();

my $submit = $q->param('submit') || undef;

if ($submit)
{

my $file = $q->param('UPLOAD') || die "Error: You did not select a file!!\n$!";
my ($name) = ($file =~ m|([^\\/]+)$|);

my $upload_path = 'upload/ ' . $name;

open(LOCAL, ">$upload_path") || die "Error: $upload_path\n$!";
binmode(LOCAL);
while(<$file>) {
print LOCAL $_;
}
close(LOCAL);

chmod (0644,"$upload_path");

print "Content-type: text/html","\n\n";
print qq~<html><body bgcolor="#9ECAEB">Il file $name \&egrave; stato trasferito con successo!!</body></html>~;

} else {

print "Content-type: text/html","\n\n";
print qq~
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#9ECAEB" TOPMARGIN="10" LEFTMARGIN="15">
<h2>Upload files:</h2>
<form ENCTYPE="multipart/form-data" ACTION="upload.cgi" METHOD="POST">
<input type="hidden" NAME="DO" VALUE="UPLOAD">


Please select a file to upload:

<input type="file" NAME="UPLOAD">
</p>
<input type="submit" NAME="submit" value=" submit ">
</form>
</body>
</html>~;

}




Ciao!

roboro
03-11-2004, 10:14
lo provero grazie mille

roboro
03-11-2004, 10:15
e s elo volessi mettere in una dir a parte es uload contiene lo script..mentre file contiene i filecaricati...

grazie

Claudio Vituzzi
03-11-2004, 14:50
infatti è quello che fa lo script!

/cgi-bin/upload.cgi
/cgi-bin/upload/files.etc

anche se però nella maggior parte dei browser se digiti:

www.yoursite.it/cgi-bin/upload/files.etc

ti vieterà il download...

Loading