Ir para conteúdo

Arquivado

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

gapaiva44

Upload

Recommended Posts

E Ai Galera, to com um baita problema aqui e peço a ajuda de vcs.

To precisando fazer um sistema de upload multiplo para varias extenções(jpg, gif, png, doc, zip) sem limitação, mais eu gostaria que o sistema trocasse para um nome unico os nome dos arquivos, isso porque se trata de um sistema de cadastro de alunos e tem varios campos que pode ocorrer nomes iguais tipo corriculum.doc, isso irai gerar um grande problema no sistema se varios tivessem o mesmo nome.

 

Desde já agradeço pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia tenho isso abaixo

<html>
<head>
<title>UPLOAD MÚLTIPLO</title>
</head>
<body>
<center>
<h1>UPLOAD MÚLTIPLO COM PHP</h1>
<?
/*
 Por: Olavo Alexandrino, você.falacomigo@bol.com.br   
Informações Úteis:
Quando o botão submit na página principal é clicado
na página que irá fazer o Upload já existem quatro variáveis
predefinidas com o nome "name" do formulário de envio
Ex.: se o formulário for:      <input type="file" name="arquivo">
As variáveis serão as seguintes:

$arquivo => nome do arquivo temporário com o qual o arquivo trasnferido foi armazenado no servidor
$arquivo_name => nome original do arquivo no computador do emissor
$arquivo_size => tamanho do arquivo em bytes
$arquivo_type => tipo MIME do arquivo (se o browser fornecer estar informação)
*/
for ($indice=0;$indice<count($arquivos);$indice++) {
    if (!empty($arquivos_name[$indice]) and is_file($arquivos[$indice])) {
         $caminho="C:\\apache\\htdocs\\exemplos_php\\arquivos\\upload\\";
         $caminho=$caminho.$arquivos_name[$indice];
         copy($arquivos[$indice],$caminho);
         # grava o $arquivo no $caminho especificado
         echo "<h3>O arquivo <font color='red'>$arquivos_name[$indice]</font> foi transferido!</h3>";
    }else{
          echo "<h3>O arquivo <font color='red'>$arquivos_name[$indice]</font> não foi transferido!</h3>";
          echo "<h4><font color='red'>Caminho ou nome de arquivo Inválido</font></h4>";
    }
}
?>
<a href="upload_multiplo.html">Fazer um novo Upload</a>
</center>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O nome do arquivo é definido na $caminho. Para ter um código aleatório, você pode utilizar timestamp (função time).

 

http://br.php.net/time

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

a variavel responsavel pelo nome do arquivo , analisando seu codigo é esta

$arquivos_name[$indice].

o que você pode fazer é o seguinte:

antes do comando copy($arquivos[$indice],$caminho); você pode mudar o nome assim

list($nome,$extensao)=explode(".",$arquivos[$indice]);//separa o nome do arquivo da extensao
agora você pode fazer assim

$arquivos[$indice] = "nome_desejado".$extensao;

agora voce pode usar o copy....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso a funcao rand para gerar um numero aleatorio de modo que nao terei nomes repetidos...

 

basta concatenar assim:

 

$rand = rand(1,9999);

 

$arquivo = $rand.$arquivo; // hipoteticamente, vai gerar: 54738726nome_do_arquivo.jpg

 

abçs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.