Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 42
Sexo: Masculino

Multiupload sem javascript

20-12-2011 12:01

Bom dia estou desenvolvendo um upload, contudo, tenho a prioridade de realizar isso somente com php. Tenho o script de upload simples estou tentando fazer um script para vários arquivos e não estou conseguindo....

Segue o código:

<?php include("restrito.php"); ?> <?php //captura o usuario logado $_SESSION["login"]; $usuario = $_SESSION["login"]; //echo "$usuario"; // Pasta onde o arquivo vai ser salvo $_UP['pasta'] = mkdir("uploads/$usuario/", 0777); sleep(1); // Tamanho máximo do arquivo (em Bytes) $_UP['tamanho'] = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 2; // 6Mb // Array com as extensões permitidas $_UP['extensoes'] = array('jpg', 'png', 'gif'); // Renomeia o arquivo? (Se true, o arquivo será salvo como .jpg e um nome único) $_UP['renomeia'] = false; // Array com os tipos de erros de upload do PHP $_UP['erros'][0] = 'Não houve erro'; $_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP'; $_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML'; $_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente'; $_UP['erros'][4] = 'Não foi feito o upload do arquivo'; // Verifica se houve algum erro com o upload. Se sim, exibe a mensagem do erro $arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE; for ($k = 0; $k < count($arquivo['name']); $k++) { $destino = $diretorio."/".$arquivo['name'][$k]; } if ($_FILES['arquivo']['error'] != 0) { die("Não foi possível fazer o upload, erro:<br />" . $_UP['erros'][$_FILES['arquivo']['error']]); exit; // Para a execução do script } // Caso script chegue a esse ponto, não houve erro com o upload e o PHP pode continuar // Faz a verificação da extensão do arquivo $extensao = strtolower(end(explode('.', $_FILES['arquivo']['name']))); if (array_search($extensao, $_UP['extensoes']) === false) { echo "Por favor, envie arquivos com as seguintes extensões: jpg, png ou gif"; } // Faz a verificação do tamanho do arquivo else if ($_UP['tamanho'] < $_FILES['arquivo']['size']) { echo "O arquivo enviado é muito grande, envie arquivos de até 2Mb."; } // O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta else { // Primeiro verifica se deve trocar o nome do arquivo if ($_UP['renomeia'] == true) { // Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg $nome_final = time().'.jpg'; } else { // Mantém o nome original do arquivo $nome_final = $_FILES['arquivo']['name']; } sleep(1); // Depois verifica se é possível mover o arquivo para a pasta escolhida if (move_uploaded_file($_FILES['arquivo']['tmp_name'], "uploads/$usuario/" .$nome_final)) { // Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo echo "Upload efetuado com sucesso!"; echo '<br /><a href="uploads/$usuario/"' . $nome_final . '">Clique aqui para acessar o arquivo</a>'; } else { // Não foi possível fazer o upload, provavelmente a pasta está incorreta echo "Não foi possível enviar o arquivo, tente novamente"; } } ?>

Pelo que li é preciso estruturas de repetição... das quais não entendi muita coisa!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Multiupload sem javascript

20-12-2011 12:32

Tem um script aqui no fórum completo, com opção de vários arquivos por upload

Upload-total_33_873.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 42
Sexo: Masculino

Multiupload sem javascript

21-12-2011 12:37

Achei um outro procedimento com js...

Contudo quando adiciono a linha de multiplo input da erro de extensão...

segue o script página html:

<html> <head> <script src="multifile_compressed.js"></script> </head> <body> <form enctype="multipart/form-data" action="bora.php" method="post"> <input id="my_file_element" type="file" name="arquivo" > <input type="submit" value="enviar"> </form>

Arquivos:

<div id="files_list"></div> <script> var multi_selector = new MultiSelector( document.getElementById( 'files_list' ), 10 ); multi_selector.addElement( document.getElementById( 'my_file_element' ) ); //linha que gera o multiplo e que dá o erro! </script> </body> </html>

segue o trecho do script php de config:

// Tamanho máximo do arquivo (em Bytes) $_UP['tamanho'] = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 2; // 6Mb // Array com as extensões permitidas $_UP['extensoes'] = array('jpg', 'png', 'gif'); // Renomeia o arquivo? (Se true, o arquivo será salvo como .jpg e um nome único) $_UP['renomeia'] = false; // Array com os tipos de erros de upload do PHP $_UP['erros'][0] = 'Não houve erro'; $_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP'; $_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML'; $_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente'; $_UP['erros'][4] = 'Não foi feito o upload do arquivo'; // Verifica se houve algum erro com o upload. Se sim, exibe a mensagem do erro if ($_FILES['arquivo']['error'] != 0) { echo("Não foi possível fazer o upload, erro:<br />" . $_UP['erros'][$_FILES['arquivo']['error']]); // Para a execução do script } // Caso script chegue a esse ponto, não houve erro com o upload e o PHP pode continuar // Faz a verificação da extensão do arquivo $extensao = strtolower(end(explode('.', $_FILES['arquivo']['name']))); if (array_search($extensao, $_UP['extensoes']) == true) { echo "Por favor, envie arquivos com as seguintes extensões: jpg, png ou gif"; }

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Multiupload sem javascript

21-12-2011 13:02

Quando for postar scripts, use a tag Code

Para ter upload múltiplo, é necessário que o name do input esteja em Array, como é mostrado no link que indiquei.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 42
Sexo: Masculino

Multiupload sem javascript

21-12-2011 14:30

Alterei o nome do input e ficou assim
<input name="arquivo[]">

, acredito que deva ser refeito o config de arquivo pq ele acusou erro novamente nas mesmas linhas!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17638
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Multiupload sem javascript

21-12-2011 16:19

Dá uma olhada nesse sistema de upload múltiplo que indiquei, já está pronto e funcionando. Dá uma olhada na estrutura do código.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]