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

Não.

 

Usando o $key tu passa o [0],[1].. para ele, e o $foto é o nome da imagem, com isso o foreach irá criar o loop necessário para cadastrar e apenas na variavel foto ele irá armazenar os valores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficaria assim?

 

GetSQLValueString($foto, "text"),
GetSQLValueString($foto, "text"),
GetSQLValueString($foto, "text"),
GetSQLValueString($foto, "text"),
GetSQLValueString($foto, "text"),

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como que os outros campos iram ter o valor das outras fotos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já expliquei isso:

 

Usando o $key tu passa o [0],[1].. para ele, e o $foto é o nome da imagem, com isso o foreach irá criar o loop necessário para cadastrar e apenas na variavel foto ele irá armazenar os valores.

 

 

Apenas ler atentamente. ;) outras duvidas tem o php.net e o foreach() ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja minha situação:

 

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

 $insertSQL = sprintf("INSERT INTO produtos (id_cliente, titulo, url, un_venda, peso, qtd1_a, qtd1_b, valor_1, temp_1, transportadora, garantia, foto1, foto2, foto3, foto4, foto5, descricao, `data`, status) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                      GetSQLValueString($_POST['id_cliente'], "int"),
                      GetSQLValueString($_POST['titulo'], "text"),
	       GetSQLValueString($url, "text"),
                      GetSQLValueString($_POST['un_venda'], "text"),
                      GetSQLValueString($_POST['peso'], "text"),
                      GetSQLValueString($_POST['qtd1_a'], "int"),
                      GetSQLValueString($_POST['qtd1_b'], "int"),
                      GetSQLValueString(FormataMoeda1($_POST['valor_1']), "text"),
                      GetSQLValueString($_POST['temp_1'], "text"),
                      GetSQLValueString($_POST['transportadora'], "text"),
                      GetSQLValueString($_POST['garantia'], "text"),
                      GetSQLValueString($foto, "text"),
                      GetSQLValueString($foto, "text"),
                      GetSQLValueString($foto, "text"),
                      GetSQLValueString($foto, "text"),
                      GetSQLValueString($foto, "text"),
                      GetSQLValueString($_POST['descricao'], "text"),
                      GetSQLValueString($_POST['data'], "date"),
                      GetSQLValueString($_POST['status'], "text"));

 mysql_select_db($database_conexao, $conexao);
 $Result1 = mysql_query($insertSQL, $conexao) or die(mysql_error());

 $insertGoTo = "c.venderok.php";
 if (isset($_SERVER['QUERY_STRING'])) {
   $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
   $insertGoTo .= $_SERVER['QUERY_STRING'];
 }
 header(sprintf("Location: %s", $insertGoTo));
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
foreach($_FILES['foto'] as $foto){
$envia->Recebe($foto);
$envia->Setanome(date('dmYhis').'.jpg');
$foto = $envia->Gera(500,70,$diretorio);
$campo[ $key ] = $foto;
}

 $insertSQL = sprintf("INSERT INTO produtos (id_cliente, titulo, url, un_venda, peso, qtd1_a, qtd1_b, valor_1, temp_1, transportadora, garantia, foto1, foto2, foto3, foto4, foto5, descricao, `data`, status) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                      GetSQLValueString($_POST['id_cliente'], "int"),
                      GetSQLValueString($_POST['titulo'], "text"),
                      GetSQLValueString($url, "text"),
                      GetSQLValueString($_POST['un_venda'], "text"),
                      GetSQLValueString($_POST['peso'], "text"),
                      GetSQLValueString($_POST['qtd1_a'], "int"),
                      GetSQLValueString($_POST['qtd1_b'], "int"),
                      GetSQLValueString(FormataMoeda1($_POST['valor_1']), "text"),
                      GetSQLValueString($_POST['temp_1'], "text"),
                      GetSQLValueString($_POST['transportadora'], "text"),
                      GetSQLValueString($_POST['garantia'], "text"),
                      GetSQLValueString($campo[0], "text"),
                      GetSQLValueString($campo[1], "text"),
                      GetSQLValueString($campo[2], "text"),
                      GetSQLValueString($campo[3], "text"),
                      GetSQLValueString($campo[4], "text"),
                      GetSQLValueString($_POST['descricao'], "text"),
                      GetSQLValueString($_POST['data'], "date"),
                      GetSQLValueString($_POST['status'], "text"));

Compartilhar este post


Link para o post
Compartilhar em outros sites

$_FILES['fotos'] retorna um array de um array ;]

Faz o foreach igual o camarada citou:

 foreach($_FILES['fotos'] as $ind=>$val){
echo 'Índice: '.$ind. '<br />Valor: '.$val;
}

 

Com isso você vai ver todos seus resultados.

 

E procure mais sobre foreach.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão nobre Gremio10, não tinha percebido, vou fazer agora.

 

Fiz como informou e retornou esse erro:

Column 'foto1' cannot be null

Compartilhar este post


Link para o post
Compartilhar em outros sites

$campo = array();

foreach($_FILES['foto'] as $foto){
$envia->Recebe($foto);
$envia->Setanome(date('dmYhis').'.jpg');
$foto = $envia->Gera(500,70,$diretorio);
$campo[ $key ] = $foto;
}
echo "<pre>";
print_r( $campo );exit;

 

Mostra o que ele vai retornar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz um arquivo de teste:

 

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

}
?>
==================================================<br>
<?php 
$campo = array();
foreach($_FILES['foto'] as $foto){
$campo[ $key ] = $foto;
}
echo "<pre>";
print_r( $campo );
exit;
?>
===================================================<br>
<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>

 

Retorna:

Array

(

[name] => Array

(

[0] => GSM_8848.jpg

[1] => Tiago.jpg

[2] => wrtp54g.jpg

[3] => TDA_Importadora2.jpg

[4] => img1_linksys_pap2_2-228x228.jpg

)

 

[type] => Array

(

[0] => image/jpeg

[1] => image/jpeg

[2] => image/jpeg

[3] => image/jpeg

[4] => image/jpeg

)

 

[tmp_name] => Array

(

[0] => /tmp/phptWY8wJ

[1] => /tmp/phpuWRCHt

[2] => /tmp/phprE3nhe

[3] => /tmp/php7MFQXZ

[4] => /tmp/phptJjCgN

)

 

[error] => Array

(

[0] => 0

[1] => 0

[2] => 0

[3] => 0

[4] => 0

)

 

=> Array

(

[0] => 17139

[1] => 9865

[2] => 27592

[3] => 39384

[4] => 8689

)

 

)

==================================================

 

Array

(

[] => Array

(

[0] => 17139

[1] => 9865

[2] => 27592

[3] => 39384

[4] => 8689

)

 

)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim:

 

foreach($_FILES['foto']['name'] as $key => $foto){
$campo[ $key ] = $foto;
}

 

e depois faz o que eu já tinha falado:

 

GetSQLValueString($campo[0], "text"),
                      GetSQLValueString($campo[1], "text"),
                      GetSQLValueString($campo[2], "text"),
                      GetSQLValueString($campo[3], "text"),
                      GetSQLValueString($campo[4], "text"),

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora foi :D, veja como testei:

 

<?php 
//$campo = array();
foreach($_FILES['foto']['name'] as $key => $foto){
$campo[ $key ] = $foto;
}

echo $campo[1]."<br>";
echo $campo[2]."<br>";
echo $campo[3]."<br>";
echo $campo[4]."<br>";
?>
===================================================<br>
<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>

 

RESULTADO:

Tiago.jpg

wrtp54g.jpg

TDA_Importadora2.jpg

img1_linksys_pap2_2-228x228.jpg

 

Fui fazer um teste com meu for original, e ele não esta mudando o nome do arquivo, esta enviando para o BD o mesmo nome do arquivo.

Também não esta fazendo o upload do arquivo.

 

Sera que tudo tem que ficar dentro do foreach?

 

Atual

$diretorio = 'images/produtos/';
$envia = new Uploadjpg;
foreach($_FILES['foto']['name'] as $key => $foto){
$envia->Recebe($foto);
$campo[ $key ] = $foto;
$envia->Setanome(date('dmYhis').'.jpg');
$foto = $envia->Gera(500,70,$diretorio);
}

 

Não esta modificando o nome do arquivo e também não esta fazendo o upload. O que seria de errado essa vez?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso o mesmo código em centenas de sites que ja fiz... não tem nada de errado com o meu código....

 

Alguém sabe o que esta acontecendo?

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.