Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tiagocaus

Upload de 5 imagens

Recommended Posts

Como modificar meu código de upload para postar até 5 imagens juntas?

 

include('../class/class.uploadjpg.php');

//faz o upload da foto
$diretorio = '../images/'.$pasta.'/';
$envia = new Uploadjpg;
$envia->Recebe($_FILES['foto']);
$envia->Setanome(date('dmYhis').'.jpg');
$foto = $envia->Gera(700,100,$diretorio);

<input name="foto1" type="file" size="32" />
<input name="foto2" type="file" size="32" />
<input name="foto3" type="file" size="32" />
<input name="foto4" type="file" size="32" />
<input name="foto5" type="file" size="32" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input name="foto[]" type="file" size="32" />
<input name="foto[]" type="file" size="32" />
<input name="foto[]" type="file" size="32" />
<input name="foto[]" type="file" size="32" />
<input name="foto[]" type="file" size="32" />

 

Assim vai criar uma Array com 5 indices ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input name="foto[]" type="file" size="32" />
<input name="foto[]" type="file" size="32" />
<input name="foto[]" type="file" size="32" />
<input name="foto[]" type="file" size="32" />
<input name="foto[]" type="file" size="32" />

 

$diretorio = '../images/'.$pasta.'/';
$envia = new Uploadjpg;
foreach($_FILES['foto'] as $foto){
 $envia->Recebe($foto);
$envia->Setanome(date('dmYhis').'.jpg');
$foto = $envia->Gera(700,100,$diretorio);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito!

Mais um detalhe que esqueci...

 

Quando eu mandava um para o BD fazia assim:

 

GetSQLValueString($foto, "text"),

 

E agora como irei para mandar as outras fotos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tua variável $foto o que ela retorna, o nome da imagem ?

 

Se sim, fica tranquilão... !!

 

foreach( $_FILES[ 'foto'] as $foto )
{
 $envia->Recebe( $foto );
 $envia->Setanome( date( 'dmYhis' ) . '.jpg' );
 $foto = $envia->Gera( 700, 100, $diretorio );
 GetSQLValueString( $foto, "text" );
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

São 5 fotos amigo, e as demais?

 

GetSQLValueString($foto1, "text"),

GetSQLValueString($foto2, "text"),

GetSQLValueString(foto3, "text"),

GetSQLValueString($foto4, "text"),

GetSQLValueString(foto5, "text"),

Compartilhar este post


Link para o post
Compartilhar em outros sites

O foreach() varre o array, colocando os valores dentro da variável $foto.

 

faz o seguinte:

 

echo "<pre>";
print_r( $_FILES[ 'foto'] );

foreach( $_FILES[ 'foto'] as $foto )
{
 print_r( $foto );
}

echo "</pre>";

 

veja o que ele irá te mostrar, ai você irá entender que o que eu te respondi anteriormente vai funcionar =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao mostrou nada...

Tem como mostrar o comando pronto ao inves de eu ficar me matando de tentar? rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

a função do foreach é tratar cada item do seu array individualmente.

 

ele pega o seu array e dividi tudo pelo índice então tudo que você fizer pra um entra pros outros

 

o print_r função que o amigo mostrou é pra visualizar o conteúdo do array você tem que utilizar esse comando depois que ele estiver montando no caso sua página de retorno do formulário..

 

tudo que você quiser que faça pra todas as fotos basta colocar dentro de um foreach

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz, é pedir demais mostrar pronto como deve ficar? Certamente o problema esta comigo, mas eu não estou conseguindo raciocinar. Final de semana eu vou para roça descansar um pouco pois estou a dias nesse trabalho...

Gostaria de deixar esse form pronto hoje para segunda fazer a outra parte.

 

 

Se tiver como, se não paciência eu...rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei entendo vocês, mas tem horas que qualquer um trava... não se me entende!

Mas vamos la... por causa de uma vírgula estava dando erro...

 

Fiz o tente com o código:

<?php 
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
echo "<pre>";
print_r( $_FILES[ 'foto'] );

foreach( $_FILES[ 'foto'] as $foto )
{
 print_r( $foto );
}

echo "</pre>";
}
?>
<form action="teste.php" method="post" enctype="multipart/form-data" name="form1">
 <p>
   <input name="foto[]" type="file" size="32" />
   <br>
 <input name="foto[]" type="file" size="32" /><br>
 <input name="foto[]" type="file" size="32" /><br>
 <input name="foto[]" type="file" size="32" /><br>
 <input name="foto[]" type="file" size="32" />
 </p>
 <p>
   <input type="submit" name="button" id="button" value="Submit">
   <input type="hidden" name="MM_insert" value="form1" />
   <br>
 </p>
</form>

 

 

E retornou esse resultado:

Array
(
   [name] => Array
       (
           [0] => TDA_Importadora2.jpg
           [1] => TDA_Importadora2.jpg
           [2] => TDA_Importadora2.jpg
           [3] => TDA_Importadora2.jpg
           [4] => spa3102.jpg
       )

   [type] => Array
       (
           [0] => image/jpeg
           [1] => image/jpeg
           [2] => image/jpeg
           [3] => image/jpeg
           [4] => image/jpeg
       )

   [tmp_name] => Array
       (
           [0] => /tmp/phpSqojHf
           [1] => /tmp/php5mNgqd
           [2] => /tmp/phpSdtuLc
           [3] => /tmp/php2pvgCf
           [4] => /tmp/phplpTG0i
       )

   [error] => Array
       (
           [0] => 0
           [1] => 0
           [2] => 0
           [3] => 0
           [4] => 0
       )

   [size] => Array
       (
           [0] => 39384
           [1] => 39384
           [2] => 39384
           [3] => 39384
           [4] => 35740
       )

)
Array
(
   [0] => TDA_Importadora2.jpg
   [1] => TDA_Importadora2.jpg
   [2] => TDA_Importadora2.jpg
   [3] => TDA_Importadora2.jpg
   [4] => spa3102.jpg
)
Array
(
   [0] => image/jpeg
   [1] => image/jpeg
   [2] => image/jpeg
   [3] => image/jpeg
   [4] => image/jpeg
)
Array
(
   [0] => /tmp/phpSqojHf
   [1] => /tmp/php5mNgqd
   [2] => /tmp/phpSdtuLc
   [3] => /tmp/php2pvgCf
   [4] => /tmp/phplpTG0i
)
Array
(
   [0] => 0
   [1] => 0
   [2] => 0
   [3] => 0
   [4] => 0
)
Array
(
   [0] => 39384
   [1] => 39384
   [2] => 39384
   [3] => 39384
   [4] => 35740
)

 

Eu devo fazer assim?

 

GetSQLValueString($foto[1], "text"),
GetSQLValueString($foto[2], "text"),
GetSQLValueString(foto[3], "text"),
GetSQLValueString($foto[4], "text"),
GetSQLValueString(foto[5], "text"),

Compartilhar este post


Link para o post
Compartilhar em outros sites

errado você deve fazer

 

foreach($_FILE['foto'] as $foto){
GetSQLValueString($foto, "text");
}

a não ser que você queria digitar um texto específico para cada imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

São 5 fotos, cada foto ficaria em seu local.

 

Então ficaria assim mesmo?

GetSQLValueString($foto[1], "text"),
GetSQLValueString($foto[2], "text"),
GetSQLValueString(foto[3], "text"),
GetSQLValueString($foto[4], "text"),
GetSQLValueString(foto[5], "text"),

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.