|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
Upload varias fotosPessoal, tenho o seguinte codigo pra fazer o upload de até 10 imagens.
Ele funciona certinho só que o laço está pegando somente os 5 primeiros arquivos. Gostaria de obter uma ajuda neste caso. No formulario de envio, todos os inputs estão assim: <input name="imagem[]" type="file" id="imagem[]"/> PHP $imagem = $_FILES['imagem']; //$imagem = $imagem['name']; //$nome = $_POST['nome']; $idimoveis = $_POST['id_imovel']; for($i = 0; $i < sizeof($imagem); $i++) { // Passa valores da iteração atual $nome = $imagem['name'][$i]; if ($nome != "") { //(move_uploaded_file($_FILES['imagem']['tmp_name'],$caminho) echo 'A imagem é:' .$nome."<br>";} else {"Cadastro não efetuado";} } [As partes desta mensagem que não continham texto foram removidas] |
|
|
Re: Upload varias fotosse são 10 e só tá aparecendo 5, então, some +5 nessa linha:
for($i = 0; $i < sizeof($imagem)*+5*; $i++) é uma gambiarra, mas deve dar certo!! 2009/11/6 Rodrigo F. Corrêa <rofer_patos@...> > > > Pessoal, tenho o seguinte codigo pra fazer o upload de até 10 imagens. > Ele funciona certinho só que o laço está pegando somente os 5 primeiros > arquivos. > Gostaria de obter uma ajuda neste caso. > > No formulario de envio, todos os inputs estão > assim: > <input name="imagem[]" type="file" id="imagem[]"/> > > PHP > $imagem = $_FILES['imagem']; > //$imagem = $imagem['name']; > //$nome = $_POST['nome']; > $idimoveis = $_POST['id_imovel']; > > for($i = 0; $i < sizeof($imagem); $i++) > { > // Passa valores da iteração atual > $nome = $imagem['name'][$i]; > > > if ($nome != "") > { > //(move_uploaded_file($_FILES['imagem']['tmp_name'],$caminho) > echo 'A imagem é:' .$nome."<br>";} > > else {"Cadastro não efetuado";} > } > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Wellton Costa de Oliveira Mestrando Universidade Tecnológica Federal do Paraná - UTFPR Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial - CPGEI Laboratório de Imagem e Instrumentação Eletrônica - LABIEM http://www.labiem.cpgei.cefetpr.br [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ ProPHP - Grupo de Profissionais de PHP do Brasil http://www.prophp.com.br/ ---- Endereços uteis PHP-PT ---- Para deixar de receber mensagens: php-pt-unsubscribe@... Endereço geral do grupo: http://br.groups.yahoo.com/group/php-pt/ AJUDA URGENTE VIA CHAT, IRC, ICQ, etc: http://br.groups.yahoo.com/group/php-pt/links/Ajuda_urgente_via_ch_001060813790/ Questões de PHP mais difíceis não respondidas aqui: http://br.groups.yahoo.com/group/php-especialistas/ Ofertas de emprego: http://br.groups.yahoo.com/group/php-empregos/ Treinamento e certificação em PHP: http://br.groups.yahoo.com/group/php-treinamento/ Outras listas de interesse para quem desenvolve em PHP: http://br.groups.yahoo.com/group/php-pt/links/OutrasListas_001005680122/ Componentes prontos de programação em PHP: http://www.phpclasses.org/ Artigos em Português: http://phpbrasil.com/Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/php-pt/ <*> Para sair deste grupo, envie um e-mail para: php-pt-unsubscribe@... <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html |
|
|
Re: Upload varias fotostroque o
for($i = 0; $i < sizeof($imagem); $i++) por foreach($imagem as $file) 2009/11/6 Rodrigo F. Corrêa <rofer_patos@...> > > > Pessoal, tenho o seguinte codigo pra fazer o upload de até 10 imagens. > Ele funciona certinho só que o laço está pegando somente os 5 primeiros > arquivos. > Gostaria de obter uma ajuda neste caso. > > No formulario de envio, todos os inputs estão > assim: > <input name="imagem[]" type="file" id="imagem[]"/> > > PHP > $imagem = $_FILES['imagem']; > //$imagem = $imagem['name']; > //$nome = $_POST['nome']; > $idimoveis = $_POST['id_imovel']; > > for($i = 0; $i < sizeof($imagem); $i++) > { > // Passa valores da iteração atual > $nome = $imagem['name'][$i]; > > > if ($nome != "") > { > //(move_uploaded_file($_FILES['imagem']['tmp_name'],$caminho) > echo 'A imagem é:' .$nome."<br>";} > > else {"Cadastro não efetuado";} > } > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ ProPHP - Grupo de Profissionais de PHP do Brasil http://www.prophp.com.br/ ---- Endereços uteis PHP-PT ---- Para deixar de receber mensagens: php-pt-unsubscribe@... Endereço geral do grupo: http://br.groups.yahoo.com/group/php-pt/ AJUDA URGENTE VIA CHAT, IRC, ICQ, etc: http://br.groups.yahoo.com/group/php-pt/links/Ajuda_urgente_via_ch_001060813790/ Questões de PHP mais difíceis não respondidas aqui: http://br.groups.yahoo.com/group/php-especialistas/ Ofertas de emprego: http://br.groups.yahoo.com/group/php-empregos/ Treinamento e certificação em PHP: http://br.groups.yahoo.com/group/php-treinamento/ Outras listas de interesse para quem desenvolve em PHP: http://br.groups.yahoo.com/group/php-pt/links/OutrasListas_001005680122/ Componentes prontos de programação em PHP: http://www.phpclasses.org/ Artigos em Português: http://phpbrasil.com/Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/php-pt/ <*> Para sair deste grupo, envie um e-mail para: php-pt-unsubscribe@... <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html |
|
|
RE: Upload varias fotosViva.
Não corri o seu código, mas de olho encontro alguns erros: Se $imagem é um array e vem de POST como: $imagem[0], $imagem[1] $imagem[n] então $imagem['name'][$i] deve ser $imagem[$i]['name'] (http://us2.php.net/manual/en/language.types.array.php) Insira para debug no seu código: <pre><? print_r($imagem); ?></pre> Se o seu código estiver correcto, então o problema poderá ser no max_file_size. Dentro do <form> deve ser incluído um input hidden com o máximo de bytes permitidos para upload. <input type=hidden name=max_file_size value=1048576> 1048576 bytes = 1 Mbyte Verifique as seguintes directives em php.ini : upload_tmp_dir upload_max_filesize post_max_size max_input_time Verifique também: memory_limit max_execution_time error_reporting display_errors log_errors error_log Leia sobre esta variáveis em www.php.net/manual/en/ YO, Pedro. From: php-pt@... [mailto:php-pt@...] On Behalf Of Rodrigo F. Corrêa Sent: sexta-feira, 6 de Novembro de 2009 12:50 To: php-pt@... Subject: [php-pt] Upload varias fotos Pessoal, tenho o seguinte codigo pra fazer o upload de até 10 imagens. Ele funciona certinho só que o laço está pegando somente os 5 primeiros arquivos. Gostaria de obter uma ajuda neste caso. No formulario de envio, todos os inputs estão assim: <input name="imagem[]" type="file" id="imagem[]"/> PHP $imagem = $_FILES['imagem']; //$imagem = $imagem['name']; //$nome = $_POST['nome']; $idimoveis = $_POST['id_imovel']; for($i = 0; $i < sizeof($imagem); $i++) { // Passa valores da iteração atual $nome = $imagem['name'][$i]; if ($nome != "") { //(move_uploaded_file($_FILES['imagem']['tmp_name'],$caminho) echo 'A imagem é:' .$nome."<br>";} else {"Cadastro não efetuado";} } [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] |
|
|
Re: Upload varias fotosEsse não é o problema.
Dê um print_r($_FILES) que você verá o problema. Só está copiando os 5 primeiros pq o array $_FILES agrupa os dados por tipo. Ex. Esse seu FOR está *ASSUMINDO *que o array $_FILES está nesse formato: imagem[0] name=>imagem1 type=>image/jpeg size=>93248 tmp_name=>38479113123.tmp error=>0 imagem[1] name=>imagem2 type=>image/jpeg size=>93248 tmp_name=>38479113123.tmp error=>0 E por aí vai, uma linha para cada imagem... acontece que o array $_FILES *NÃO ESTÁ NESTE FORMATO*, ele agrupa os dados por tipo, portanto, ele estará assim: imagem[name] [0]=>imagem1.jpg [1]=>imagem2.jpg imagem[type] [0]=>image/jpeg [1]=>image/jpeg e assim por diante. Portanto, se você der um FOR no array $_FILES, ele sempre vai rodar só 5 vezes, pois ele realmente só terá 5 valores: name, type, error, tmp_name e size. Sacou? Você pode resolver isso de diversas formas. Pra não modificar muito o que você já fez, faça assim: foreach($_FILES['imagem']['name'] as $chave=>$valor): $nome = $valor; $type = $_FILES['imagem']['type'][$chave]; ///e por aí vai endforeach; Só finalizando... é recomendado nunca utilizar uma função dentro do for, pois ela será executada novamente a cada iteração do laço. Ou seja, ao invés de você utilizar *for($i=0;$i<sizeof($imagem);$i++)* **faça assim * * *$num = sizeof($imagem);* *for($i=0;$i<$num;$i++)* Ou utilize o foreach, que é ainda melhor. Cláudio. 2009/11/6 Wellton Costa de Oliveira <wco.linux@...> > se são 10 e só tá aparecendo 5, então, some +5 nessa linha: > > for($i = 0; $i < sizeof($imagem)*+5*; $i++) > > é uma gambiarra, mas deve dar certo!! > > 2009/11/6 Rodrigo F. Corrêa <rofer_patos@...> > > > > > > > Pessoal, tenho o seguinte codigo pra fazer o upload de até 10 imagens. > > Ele funciona certinho só que o laço está pegando somente os 5 primeiros > > arquivos. > > Gostaria de obter uma ajuda neste caso. > > > > No formulario de envio, todos os inputs estão > > assim: > > <input name="imagem[]" type="file" id="imagem[]"/> > > > > PHP > > $imagem = $_FILES['imagem']; > > //$imagem = $imagem['name']; > > //$nome = $_POST['nome']; > > $idimoveis = $_POST['id_imovel']; > > > > for($i = 0; $i < sizeof($imagem); $i++) > > { > > // Passa valores da iteração atual > > $nome = $imagem['name'][$i]; > > > > > > if ($nome != "") > > { > > //(move_uploaded_file($_FILES['imagem']['tmp_name'],$caminho) > > echo 'A imagem é:' .$nome."<br>";} > > > > else {"Cadastro não efetuado";} > > } > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > -- > Wellton Costa de Oliveira > Mestrando > Universidade Tecnológica Federal do Paraná - UTFPR > Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial - > CPGEI > Laboratório de Imagem e Instrumentação Eletrônica - LABIEM > http://www.labiem.cpgei.cefetpr.br > > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > ProPHP - Grupo de Profissionais de PHP do Brasil > http://www.prophp.com.br/ > > > ---- Endereços uteis PHP-PT ---- > Para deixar de receber mensagens: php-pt-unsubscribe@... > Endereço geral do grupo: http://br.groups.yahoo.com/group/php-pt/ > AJUDA URGENTE VIA CHAT, IRC, ICQ, etc: > > http://br.groups.yahoo.com/group/php-pt/links/Ajuda_urgente_via_ch_001060813790/ > Questões de PHP mais difíceis não respondidas aqui: > http://br.groups.yahoo.com/group/php-especialistas/ > Ofertas de emprego: http://br.groups.yahoo.com/group/php-empregos/ > Treinamento e certificação em PHP: > http://br.groups.yahoo.com/group/php-treinamento/ > Outras listas de interesse para quem desenvolve em PHP: > http://br.groups.yahoo.com/group/php-pt/links/OutrasListas_001005680122/ > Componentes prontos de programação em PHP: http://www.phpclasses.org/ > Artigos em Português: http://phpbrasil.com/Links do Yahoo! Grupos > > > [As partes desta mensagem que não continham texto foram removidas] |
| Free embeddable forum powered by Nabble | Forum Help |