gremio10 14 Denunciar post Postado Maio 4, 2012 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
tiagocaus 1 Denunciar post Postado Maio 4, 2012 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
gremio10 14 Denunciar post Postado Maio 4, 2012 Apenas um GetSQLValueString. Compartilhar este post Link para o post Compartilhar em outros sites
tiagocaus 1 Denunciar post Postado Maio 4, 2012 Como que os outros campos iram ter o valor das outras fotos? Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Maio 4, 2012 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
tiagocaus 1 Denunciar post Postado Maio 4, 2012 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
gremio10 14 Denunciar post Postado Maio 4, 2012 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
Hiago Drigo 5 Denunciar post Postado Maio 5, 2012 $_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
gremio10 14 Denunciar post Postado Maio 5, 2012 O que eu coloquei aqui não funcionou ? tem de relatar para podermos ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
tiagocaus 1 Denunciar post Postado Maio 5, 2012 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
gremio10 14 Denunciar post Postado Maio 5, 2012 $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
tiagocaus 1 Denunciar post Postado Maio 5, 2012 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
gremio10 14 Denunciar post Postado Maio 5, 2012 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
tiagocaus 1 Denunciar post Postado Maio 5, 2012 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
gremio10 14 Denunciar post Postado Maio 6, 2012 O problema é no seu código de upload não no foreach, o foreach apenas re coloca o array em outra variável. Compartilhar este post Link para o post Compartilhar em outros sites
tiagocaus 1 Denunciar post Postado Maio 8, 2012 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