[PHPRS] Com enviar várias fotos num único campo do formulario

1,445 views
Skip to first unread message

cbc_rs

unread,
Apr 28, 2010, 6:59:32 PM4/28/10
to PHPRS
Olá a todos, estou precisando d uma ajuda para conseguir montar um
formulário onde seja possível enviar várias fotos de uma única vez. Eu
fiz assim:


<form method="POST" action="recebe_mostra.php" enctype="multipart/form-
data">

<input type="file" name="foto" id="foto" size="30"><br>

<p align="right"><input type="submit" value="Enviar" size="30"><br>
</form>

Mas não consigo selecionar mais de uma imagem :( ....

--
You received this message because you are subscribed to the Google
Groups "PHPRS" group.
To post to this group, send email to lista...@googlegroups.com
To unsubscribe from this group, send email to
lista-phprs...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/lista-phprs?hl=en

Diogo de Lima Colete

unread,
Apr 28, 2010, 11:31:35 PM4/28/10
to lista...@googlegroups.com
Coloque o input assim

<input type="file" name="foto[]" id="foto" size="30"><br>


no name voce coloca o colchetes "[]" como eu fiz ali, foto[] e quando o formulario é submetido vira um array no php.

cbc_rs

unread,
Apr 29, 2010, 1:21:24 PM4/29/10
to PHPRS
Ainda não consegui fazer funcionar... eu queria que quando clicasse em
"procurar" desse para usar o ctrl e selecionar mais de uma foto nesse
mesmo campo do formulario... nao queria q precisasse escoloher as
fotos uma de cada vez....

O arquivo q recebe está assim:

<body>

<?php

$img = $_FILES["foto"]; // recebendo a imagem original no servidor
echo $img . " - Enviada com Sucesso! <br>";
$pasta = "C:\apache2triad\htdocs\minha parte/"; // destino das imagens
$img_nome = $img["name"];
$end_img_mini = $pasta."thumb_".$img_nome; // endereço e nome da
miniatura
$end_img_or = $pasta . $img_nome; // endereço e nome da imagem
original

echo "<br>Miniatura: " . $end_img_mini; // se recebeu mostrará os
endereços
echo "<br>Original: " . $end_img_or;


function reduz_imagem($img, $novox, $novoy, $nome_foto)
{
list($width, $height) = getimagesize($img); // esta função
determina o tamanho x,y original da imagem
// se a largura for maior que a altura
if($width > $height)
{
$novox=115;
$novoy=90;
}
// se a altura for maior que a largura
else
{
$novox=90;
$novoy=120;
}

$image_p=imagecreatetruecolor($novox,$novoy); // esta função cria
a imagem pequena na cor preta (não funciona com gif)

$image = imagecreatefromjpeg($img); // esta função dará a cor a
imagem jpeg

/*
OS parâmetros da função q segue são 10:
($ dst_image, $ src_image, int $ dst_x, int $ dst_y, int $ src_x, int
$ src_y, int $ dst_w, int $ dst_h, int $ src_w, int $ src_h)
1 - $image_p ($dst_image: tamanho da área retangular onde será
colocada a nova imagem na posição dst_x e dst_y)
2 - $image (src_image: a imagem copiada terá uma área retangular de
$widht de largura (7: scr_w) e $height de altura (8: src_h))
3, 4, 5 e 6 - 0,0,0,0 (dst_x, dst_y, src_x e src_y: números inteiros,
os dst servirão para dizer a posição s,y da nova imagem e os outros
dirão a posição x,y da imagem original)
*/
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $novox, $novoy,
$width, $height); // esta função faz a cópia da imagem original em
tamanho menor

return imagejpeg($image_p, $nome_foto, 100);
}



$uploadP = reduz_imagem($_FILES["foto"]["tmp_name"], 120, 60,
$end_img_mini); // o q significam esses números 120 e 60?

$uploadG = move_uploaded_file($img["tmp_name"], $end_img_or);


if($uploadP && $uploadG)
{
echo "<br>Foto redimensionada e enviada com sucesso!";
}
else
{
echo "<br>Falha no upload...";
}
?>


</body>



Está funcionando direitinho, mas eu queria q desse para selecionar
mais de uma foto no campo do formulário.




On 29 abr, 00:31, Diogo de Lima Colete <diogocol...@gmail.com> wrote:
> Coloque o input assim
>
> <input type="file" name="foto[]" id="foto" size="30"><br>
>
> no name voce coloca o colchetes "[]" como eu fiz ali, foto[] e quando o
> formulario é submetido vira um array no php.
>
> Em 28 de abril de 2010 19:59, cbc_rs <svp.claudin...@gmail.com> escreveu:
>
>
>
>
>
> > Olá a todos, estou precisando d uma ajuda para conseguir montar um
> > formulário onde seja possível enviar várias fotos de uma única vez. Eu
> > fiz assim:
>
> > <form method="POST" action="recebe_mostra.php" enctype="multipart/form-
> > data">
>
> >    <input type="file" name="foto" id="foto" size="30"><br>
>
> >        <p align="right"><input type="submit" value="Enviar" size="30"><br>
> > </form>
>
> > Mas não consigo selecionar mais de uma imagem :( ....
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "PHPRS" group.
> > To post to this group, send email to lista...@googlegroups.com
> > To unsubscribe from this group, send email to
> > lista-phprs...@googlegroups.com
> > For more options, visit this group at
> >http://groups.google.com/group/lista-phprs?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "PHPRS" group.
> To post to this group, send email to lista...@googlegroups.com
> To unsubscribe from this group, send email to
> lista-phprs...@googlegroups.com
> For more options, visit this group athttp://groups.google.com/group/lista-phprs?hl=en- Ocultar texto das mensagens anteriores -
>
> - Mostrar texto das mensagens anteriores -

Iuli Z

unread,
Apr 30, 2010, 12:54:13 AM4/30/10
to lista...@googlegroups.com
Olá pessoal, sou novo por aqui...

Creio que não é possível selecionar mais de um arquivo em um campo <input tyle="file" ... />, somente inserindo dois campos na tela, o usuário seleciona um arquivo e em seguida outro, depois clica no submit e os dois arquivos serão enviados.
Exemplo:

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Send files" />
</form>

Isso exibirá dois campos em alguns browsers, em outros (que já suportam HTML5) será exibido um campo que permite selecionar vários arquivos, mas isso é uma implementação do browser e não do (X)HTML em sí. Creio que o Safari já funciona desta forma, acho que o Chrome também.

Outra forma é usando Javascrip (com jQuery por exemplo). Seleciona os arquivos um a um e faz upload de todos de uma vez. Aqui tem um exemplo:
http://webdeveloperplus.com/jquery/ajax-multiple-file-upload-form-using-jquery/.

Abraços
 ---
Iuli
Téc. Informática
Programador / Desenvolvedor PHP

________________________________
De: cbc_rs <svp.cla...@gmail.com>
Para: PHPRS <lista...@googlegroups.com>
Enviadas: Quinta-feira, 29 de Abril de 2010 14:21:24
Assunto: [PHPRS] Re: Com enviar várias fotos num único campo do formulario

Claiton

unread,
Apr 30, 2010, 5:40:55 PM4/30/10
to lista...@googlegroups.com
Acredito que apenas com HTML puro n seja possível..
Tenta achar algo em flash... pq o php só tem controle Server side.
Abraço!

-----Mensagem original-----
De: lista...@googlegroups.com [mailto:lista...@googlegroups.com] Em
nome de cbc_rs
Enviada em: quinta-feira, 29 de abril de 2010 14:21
Para: PHPRS
Assunto: [PHPRS] Re: Com enviar várias fotos num único campo do formulario

Carlinhus

unread,
May 1, 2010, 12:18:10 PM5/1/10
to lista...@googlegroups.com
Tche vamos la
pra fazer isso voce precisaria criar varios campos de input file
e pegar eles em array
mas como voce quer fazer é mais facil
procurar por multi upload em flash ou até mesmo jquery
que ele vai te dar essa opção de selecionar varios arquivos e envialos para o servidor
de forma unica um a um  os que estiverem na lista
ai sim essa função jquery ou flash chama o teu arquivo php que faz o upload
somente assim creio que seja possivel, ao menos é o que é usado na web.

de uma olhada por ai

abraço
--
Carlos Lehn | Tecnologia & Desenvolvimento
www.carlinhoslehn.com
9294-9732

cbc_rs

unread,
May 1, 2010, 2:32:39 PM5/1/10
to PHPRS
Agradeço a atençao de vcs... Vou tentar aplicar o ajax entao para ver
se vai funcionar..

Tanure

unread,
May 1, 2010, 3:50:48 PM5/1/10
to lista...@googlegroups.com
procure por swfupload ou  uploady

2010/5/1 Carlinhus <dud...@gmail.com>



--
Luiz Tanure
www.tanure.com


472f5a3aedb906cb767acdbdeaca6d8f

Felipe Fürst

unread,
May 3, 2010, 7:08:49 AM5/3/10
to lista...@googlegroups.com
Olá ...
De repente é isso de q vc está precisando ...

<input name="uploads[]" type="file" multiple=""/>

Só que não funciona no IE ...
flw ...

att.

2010/5/1 cbc_rs <svp.cla...@gmail.com>



--
---------------------------------------
Felipe Furst

cbc_rs

unread,
Jul 1, 2010, 10:39:00 PM7/1/10
to PHPRS
Pessoal, acabei utilizando o uploadify do jquery mesmo e funcionou
legal! Era exatamente o q eu precisava: um plugin para envio de
múltiplas imagens ao mesmo tempo.. Achei umas informações bem
importantes sobre ele neste blog: http://blog.shiguenori.com/2009/03/02/jquery-file-upload.

Contato (DP1)

unread,
Jul 15, 2010, 7:29:50 PM7/15/10
to lista...@googlegroups.com
Pessoal,
pegando um gancho na d�vida da colega.

Estou tendo dificuldades em enviar arquivos com mais de 2Mb pelo
move_uploaded_file().

J� pedi ao provedor para aumentar as constantes do php (max_upload_file,
etc..)

mas continua complicado.

at� coloquei um exemplo em www.dp1.com.br/dp1/temp.php

l� ele usa o move_upoloaded_file().

Aguardo...

--------------------------------------------------
From: "cbc_rs" <svp.cla...@gmail.com>
Sent: Thursday, July 01, 2010 11:39 PM
To: "PHPRS" <lista...@googlegroups.com>
Subject: Re: RES: [PHPRS] Re: Com enviar v�rias fotos num �nico campo do
formulario

> Pessoal, acabei utilizando o uploadify do jquery mesmo e funcionou
> legal! Era exatamente o q eu precisava: um plugin para envio de

> m�ltiplas imagens ao mesmo tempo.. Achei umas informa��es bem


> importantes sobre ele neste blog:
> http://blog.shiguenori.com/2009/03/02/jquery-file-upload.
>

Willian Fonseca Guimaraes

unread,
Jul 15, 2010, 9:25:01 PM7/15/10
to lista...@googlegroups.com
Cara pelo exemplo que vc colocou, apresentou o seguinte erro no meu navegador:
 
Parse error: syntax error, unexpected T_VARIABLE in /home/dp1combr/html/www/dp1/temp_fuploadsite.php on line 21
 
veja na linha 21 se ha algum erro de sitaxe ou na linha 20 se esta faltanto o ponto e virgula no final (;).
 
caso apresente outro erro como tempo limite atingido veja a função set_time_limit() ela é usada para manipular o tempo permitido a um script executar, pois alem de permitir arquivos maiores no servidor é nessesário as veses fazer isso quando o script fica rodando por muito tempo, bom é isso ae espero ter ajudado blz.


Em 15 de julho de 2010 20:29, Contato (DP1) <con...@dprimeira.com.br> escreveu:
Pessoal,
pegando um gancho na dúvida da colega.


Estou tendo dificuldades em enviar arquivos com mais de 2Mb pelo move_uploaded_file().

Já pedi ao provedor para aumentar as constantes do php (max_upload_file, etc..)

mas continua complicado.

até coloquei um exemplo em www.dp1.com.br/dp1/temp.php

lá ele usa o move_upoloaded_file().


Aguardo...

--------------------------------------------------
From: "cbc_rs" <svp.cla...@gmail.com>
Sent: Thursday, July 01, 2010 11:39 PM
To: "PHPRS" <lista...@googlegroups.com>
Subject: Re: RES: [PHPRS] Re: Com enviar várias fotos num único campo do formulario

Pessoal, acabei utilizando o uploadify do jquery mesmo e funcionou
legal! Era exatamente o q eu precisava: um plugin para envio de
múltiplas imagens ao mesmo tempo.. Achei umas informações bem

importantes sobre ele neste blog: http://blog.shiguenori.com/2009/03/02/jquery-file-upload.

--
You received this message because you are subscribed to the Google
Groups "PHPRS" group.
To post to this group, send email to lista...@googlegroups.com
To unsubscribe from this group, send email to
lista-phprs...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/lista-phprs?hl=en

Bruno Fernandes

unread,
Jul 15, 2010, 9:51:34 PM7/15/10
to lista...@googlegroups.com
Amigao, para vc enviar várias fotos de uma unica vez, vc vai ter q usar alguma biblioteca js para isso.
Eu utilizo o uploadify, muito boa.
 
Da uma procurada sobre eles
abs

Contato (DP1)

unread,
Jul 16, 2010, 12:04:43 PM7/16/10
to lista...@googlegroups.com
Vê agora...
Acho que o problema está no POST...
Não chega nem executar o ACTION.

Sent: Thursday, July 15, 2010 10:25 PM

cbc_rs

unread,
Jul 16, 2010, 7:39:02 PM7/16/10
to PHPRS
Vc tem q pedir para aumentar o valor do upload_max_filesize, do
post_max_size e da sessão também, pois o padrão no php é de apenas 24
minutos, pode ser muito pouco para envio d imagens...

Outra coisa q vc pode fazer é utilizar essa função q eu coloque acima
para reduzir o tamanho das imagens, assim não importa se tem 5 ou 6mb
q vai fazer o upload igual...
Obs.: para usar essa função será necessário habilitar a biblioteca gd
no php.

Espero ter ajudado, poste o resultado para sabermos se vc conseguiu!!!
Reply all
Reply to author
Forward
0 new messages