Tenho experiência em fazer isso com uploads de arquivo único usando <input type="file">
. No entanto, estou com problemas para fazer o upload de mais de um por vez.
Por exemplo, eu gostaria de poder selecionar uma série de imagens e enviá-las ao servidor, de uma só vez.
Seria ótimo usar um controle de entrada de arquivo único, se possível.
Alguém sabe como fazer isso? Obrigado!
Respostas:
Isso é possível no HTML5 . Exemplo (PHP 5.4):
Veja como é o Chrome depois de selecionar 2 itens na caixa de diálogo de arquivo:
E aqui está o que parece depois de clicar no botão "Upload".
Este é apenas um esboço de uma resposta totalmente funcional. Consulte Manual do PHP: Manipulando uploads de arquivos para obter mais informações sobre o manuseio adequado e seguro de uploads de arquivos em PHP.
fonte
multiple="multiple"
?name="file[]"
). Tentei editar a resposta , mas ela foi rejeitada.Há algumas coisas que você precisa fazer para criar um upload de vários arquivos, na verdade é bastante básico. Você não precisa usar Java, Ajax, Flash. Basta criar um formulário de upload de arquivo normal começando com:
Então a chave para o sucesso;
<input type="file" name="file[]" multiple />
NÃO esqueça esses suportes! No post_upload.php, tente o seguinte:
Observe que você obtém uma matriz com dados tmp_name, o que significa que você pode acessar cada arquivo com um terceiro par de colchetes com o exemplo 'number' do arquivo:
Você pode usar php count () para contar o número de arquivos que foram selecionados. Goodluck widdit!
fonte
foreach
declaração, sem ter que saber o número de arquivos carregados ...Solução completa no Firefox 5:
fonte
<html> <head> </head> <body> <form name="uploader" id="uploader" action="multifile.php" method="POST" enctype="multipart/form-data" > <input id="infile" name="infile[]" type="file" onBlur="submit();" multiple="true" ></input> </form>
Se você deseja selecionar vários arquivos na caixa de diálogo do seletor de arquivos que é exibida quando você seleciona procurar, então não tem mais sorte. Você precisará usar um applet Java ou algo similar (acho que existe um que use um pequeno arquivo flash, atualizarei se o encontrar). Atualmente, uma entrada de arquivo único permite apenas a seleção de um único arquivo.
Se você está falando sobre o uso de várias entradas de arquivo, não deve haver muita diferença em usar uma. Poste algum código e tentarei ajudar mais.
Atualização: existe um método para usar um único botão 'navegar' que usa flash. Eu nunca usei isso pessoalmente, mas li bastante sobre isso. Eu acho que é o seu melhor tiro.
http://swfupload.org/
fonte
no primeiro você deve criar uma forma como esta:
isso está certo . Agora, adicione esse código no código do formulário ou em qualquer página que você quiser
é fácil ... terminar
fonte
Se você usar vários campos de entrada, poderá definir nome = "arquivo []" (ou qualquer outro nome). Isso os colocará em uma matriz quando você os enviar (
$_FILES['file'] = array ({file_array},{file_array]..)
)fonte
Usando o loop FOR
Usando o loop FOREACH
fonte
Eu criei uma função php que é usada para fazer upload de várias imagens, esta função pode fazer upload de várias imagens em uma pasta específica, além de salvar os registros no banco de dados no seguinte código $ arrayimage é o conjunto de imagens que é enviado através do formulário. que ele não permitirá que o upload use vários, mas você precisa criar um campo de entrada diferente com o mesmo nome para definir o campo de adição dinâmica da entrada de arquivo ao clicar no botão.
$ dir é o diretório no qual você deseja salvar a imagem $ fields é o nome do campo que você deseja armazenar no banco de dados
O campo do banco de dados deve estar no exemplo de formato de matriz, se você tiver um armazenamento de imagens e campos, como id, nome, endereço, será necessário postar dados como
e depois passe esse campo para a função $ fields
$ table é o nome da tabela na qual você deseja armazenar os dados.
// classe imageFunctions termina aqui
você pode tentar este código para inserir várias imagens com sua extensão. Essa função é criada para verificar arquivos de imagem. É possível substituir a lista de extensões por arquivos perticulares no código.
fonte
resposta parcial: pear HTTP_UPLOAD pode ser útil http://pear.php.net/manual/en/package.http.http-upload.examples.php
existe um exemplo completo para vários arquivos
fonte