wiki:WF/Uploaddearquivos

Version 4 (modified by cassiomaes, 17 years ago) (diff)

--

Função: wf_get_uploaded_files

Descrição: Esta função tem como objetivo extrair, de forma simples, arquivos que foram enviados através de um formulário. Esta função deve ser utilizada no arquivo de código (PHP) que receberá os dados enviados pelo formulário.

parâmetro:

nome: o nome do campo do formulário (type="file") que foi utilizado para enviar o arquivo.

Exemplo de utilização:

Supondo que temos o seguinte código em um arquivo HTML (template):

<form method="POST">

	<input type="file" name="meu_arquivo">
	<input type="submit">

</form>

A utilização da função seria da seguinte maneira:

$arquivoRecebido = wf_get_uploaded_files("meu_arquivo");

A variável {{$arquivoRecebido}} seria uma array de arrays associativas. Cada arquivo enviado seria uma array associativa armazenada como um elemento da array {{$arquivoRecebido}}. O índice desta array inicia em 0 (zero). Como neste exemplo só temos um arquivo, ele vai estar na posição 0 (zero). Abaixo podemos ver o dump da variável:

Array
(
    [0] => Array
        (

            [name] => foo.txt
            [type] => text/plain
            [tmp_name] => /tmp/php9A6txv
            [error] => 0
            [size] => 15
            [content] => Conteudo de foo

        )

)

Onde:

{{name}}: contem o nome do arquivo enviado.

{{type}}: o tipo do arquivo enviado.

{{tmp_name}}: o nome que o arquivo recebeu ao ser temporariamente armazenado.

{{size}}: tamanho do arquivo, em bytes.

{{content}}: o conteúdo do arquivo.

Para enviar mais de um arquivo, basta utilizar o seguinte código.

No HTML:

<form method="POST">

	<input type="file" name="meus_arquivos[]">
	<input type="file" name="meus_arquivos[]">
	<input type="submit">

</form>

No PHP:

$arquivos = wf_get_uploaded_files("meus_arquivos");

Atente à nomenclatura utilizada nos campos do formulário do código HTML. No exemplo acima, {{$arquivos}} seria uma array de dois elementos onde, cada elemento seria uma array associativa com os itens supra citados.

Para enviar mais arquivos ao mesmo tempo, basta adicionar mais um campo do tipo file no formulário.