Ir ao conteúdo
  • Cadastre-se

Upload em CGI (Funcionando)


deakao

Posts recomendados

Galera é o seguinte tenho um script de upload com CGI, ele está funcionando. Porém queria incrementa-lo gostaria de fazer um jeito de não ter problemas com nome arquivo repetido... eu pensei em mudar o nome do arquivo mas não sei como fazer isso pensei também em coloca-lo dentro de outra pasta, mas não sei fazer também alguem pode me ajudar?

Aqui está o código tirado do http://www.sitepoint.com/article/uploading-files-cgi-perl/


#!/usr/bin/perl -wT

use strict;
use CGI;
use CGI::Carp qw ( fatalsToBrowser );
use File::Basename;

$CGI::POST_MAX = 1024 * 20000;
my $safe_filename_characters = "a-zA-Z0-9_.-";

my $query = new CGI;
my $filename = $query->param("arquivo");
my $pasta = $query->param("usuario");

# aqui se eu coloco "/var/www/pixelbook/uploads/$pasta"; ele da pau
my $upload_dir = "/var/www/pixelbook/uploads";
if ( !$filename )
{
print $query->header ( );
print "O Arquivo passou o tamanho permitido.";
exit;
}

my ( $name, $path, $extension ) = fileparse ( $filename, '\..*' );
$filename = $name . $extension;
$filename =~ tr/ /_/;
$filename =~ s/[^$safe_filename_characters]//g;

if ( $filename =~ /^([$safe_filename_characters]+)$/ )
{
$filename = $1;
}
else
{
die "O Arquivo contém caracteres inválidos";
}

my $upload_filehandle = $query->upload("arquivo");

open ( UPLOADFILE, ">$upload_dir/$filename" ) or die "$!";
binmode UPLOADFILE;

while ( <$upload_filehandle> )
{
print UPLOADFILE;
}

close UPLOADFILE;

print $query->header ( );

print "{";
print "error: '', \n";
print "pasta: '$pasta', \n";
print "msg: '$filename'";
print "}";

se alguém tiver alguma sugestão ficaria muito grato.

Obrigado.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!