Fala galera! Estou com um novo problema, preciso enviar duas imagem de um cadastro em php uma do rg e outra do cpf mas não faço a minima ideia de como fazer isso, eu ja pesquisei porém ainda não encontrei. Alguém poderia me ajudar?
Especifica melhor. Se for pra selecionar e enviar duas imagens ao mesmo tempo:
HTML:
<input name="upload[]" type="file" multiple="multiple" />
PHP:
// Count # of uploaded files in array
$total = count($_FILES['upload']['name']);
// Loop through each file
for($i=0; $i<$total; $i++) {
//Get the temp file path
$tmpFilePath = $_FILES['upload']['tmp_name'][$i];
//Make sure we have a filepath
if ($tmpFilePath != ""){
//Setup our new file path
$newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i];
//Upload the file into the temp dir
if(move_uploaded_file($tmpFilePath, $newFilePath)) {
//Handle other code here
}
}
}
Ta deixa eu ver se eu consigo explicar. E tipo assim:
Vou ter três inputs:
Quando o usuário selecionar todas as imagem ele ira enviar todas para o banco e uma pasta tipo assim:
<?php // Conexão com o banco de dados $conn = mysql_connect("localhost", "root", "") or die ("Problemas na conexão."); $db = mysql_select_db("bancocartorio", $conn) or die ("Problemas na conexão"); $imagem01 = $_FILES['imagem01']; if (!empty($imagem01["name"])) { preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $imagem01["name"], $ext); // Gera um nome único para a imagem $nome_imagem = md5(uniqid(time())) . "." . sizeof($ext); // Caminho de onde ficará a imagem $caminho_imagem = "../fotos/" . $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($$imagem01["tmp_name"], $caminho_imagem); // Insere os dados no banco $sql = mysql_query("INSERT INTO cadastro (imagem01) VALUES ('".$imagem01."'')") or die(mysql_error()); } ?>O que eu não consigo fazer é colocar as enviar essas tres imagens sempre da o seguinte erro:
"Array to string conversion in ",
Outra coisa que eu queria saber era para salvar cada imagem em uma pasta diferente e depois chamar cada uma não sei como fazer isso da para me ajuda???
Posta também o código HTML.
Ta ai:
<table width="150px"><a href="sair.php"><button class="btnn">Sair</button></a><a href="firmas.php"> <button class="btn">Firmas Abertas-></button> </a>
<h2 class="nome_cadastrar" align="center">Cadastro de Firma</h2>
<form method="POST" action="../php/cadastrar.php" enctype="multipart/form-data">
<tr><td>
<label id="letras">Nome Completo:</label></td><td>
<input type="text" name="nome" id="nome" placeholder="Digite uma Nome" ><br></br>
</td></tr>
<tr><td>
<label id="letras">Filiação:</label></td><td>
<input type="text" name="filiacao" id="filiacao" placeholder="Digite os pais do cliente" ><br></br>
</td></tr>
<tr><td>
<label id="letras">CPF:</label></td><td>
<input type="text" name="cpf" id="cpf" OnKeyPress="formatar('###.###.###-##', this)" placeholder="Digite o CPF" maxlength="14" ></td><td><input type="file" id="img_cpf" name="img_cpf"/><br></br>
</td></tr>
<tr><td>
<label id="letras">RG:</label></td><td>
<input type="text" name="rg" id="rg"14 maxlength="14" placeholder="Digite o RG" ></td><td><input type="file" id="img_rg" name="img_rg"/>
</td></tr><br></br>
<tr><td>
<label id="letras">Profissão:</label></td><td>
<input type="text" name="profissao" id="profissao" placeholder="Digite a Profissão" ><br></br>
</tr></td>
<tr><td>
<label id="letras">Rua:</label></td><td>
<input type="text" name="rua" id="rua" placeholder="Digite a rua" ><br></br>
</td></tr>
<tr><td>
<label id="letras">Bairro:</label></td><td>
<input type="text" name="bairro" id="bairro" placeholder="Digite o bairro" ><br></br>
</td></tr>
<tr><td>
<label id="letras">Número:</label></td><td>
<input type="text" name="numero" id="numero" placeholder="Digite o numero da residencia" ><br></br>
</td></tr>
<tr><td>
<label id="letras">Complemento:</label></td><td>
<input type="text" name="complemento" id="complemento" placeholder="Digite o numero da residencia" ><br></br>
</td></tr>
<tr><td>
<label id="letras">Data:</label></td><td>
<input type="text" name="data" id="data" placeholder="Digite a data" OnKeyPress="formatar('##/##/####', this)"maxlength="10" ><br></br>
</td></tr>
<select name="civil" id="civil">
<option value="" id="letras">Estado Civil...</option>
<option value="solteiro(a)" id="solteiro(a)">SOLTEIRO(a)</option>
<option value="casado(a)"id="casado(a)"> CASADO(a)</option>
<option value="separado(a)" id="separado(a)">SEPARADO(a)</option>
<option value="divorciado(a)"id="divorciado(a)">DIVORCIADO(a)</option>
<option value="viuvo(a)"id="viuvo(a)">VIÚVO(a)</option></select><br></br>
</td></tr>
<tr><td>
<label id="letras">Rubrica do Cliente:</label></td>
<td><label class="labelInput">
<input type="file" accept="image/*" id="foto" name="foto" onchange="loadFile(event)"/>
<span><img src="../img/icone01.png" id="output" style="width:200px;height:200px;" ></span>
</tr>
<tr height="15px"><td></td></tr>
</td></tr>
<tr height="15px"><td></td></tr>
</td></tr>
</table><br></br>
<input type="submit" value="Cadastrar" class="botao" onclick="a()">
<input type="reset" value="Limpar Campos" class="botao" onclick="mudaImagem(1)">
</form></br></br></br>
</center>
</table>
Seu código HTML só tem 1 input file, e nem multiple ele é. Dependendo do requisito, ou você coloca dois elementos input file ou coloca um input file multiple como já te mostrei no exemplo. Dependendo do problema tem que expor também o que faz a função loadFile(event).
Foi mal por não ter sido bem especifico antes. Conversei com um amigo meu e ele consertou o problema rapidinho, veja so:
<?php // Conexão com o banco de dados $conn = mysql_connect("localhost", "root", "") or die ("Problemas na conexão."); $db = mysql_select_db("bancocartorio", $conn) or die ("Problemas na conexão"); // Se o usuário clicou no botão cadastrar efetua as ações $nome = $_POST['nome']; $filiacao = $_POST['filiacao']; $cpf = $_POST['cpf']; $rg = $_POST['rg']; $profissao = $_POST['profissao']; $rua = $_POST['rua']; $bairro = $_POST['bairro']; $numero = $_POST['numero']; $complemento = $_POST['complemento']; $data = $_POST['data']; $civil = $_POST['civil']; $foto = $_FILES["foto"]; $img_cpf = $_FILES["img_cpf"]; $img_rg = $_FILES["img_rg"]; //Verificando o email: //começo //Fim // Se a foto estiver sido selecionada $caminho_imagem1 = ""; $caminho_imagem2 = ""; $caminho_imagem3 = ""; if(!empty($foto['name'])){ preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext); $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; $caminho_imagem1 = "../fotos/" . $nome_imagem; move_uploaded_file($foto["tmp_name"], $caminho_imagem1); $re = mysql_query("select * from cadastro") or die(mysql_error()); $rw = mysql_fetch_assoc($re); } if(!empty($img_cpf['name'])){ preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $img_cpf["name"], $ext); $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; $caminho_imagem2 = "../cpf/" . $nome_imagem; move_uploaded_file($img_cpf["tmp_name"], $caminho_imagem2); $re = mysql_query("select * from cadastro") or die(mysql_error()); $rw = mysql_fetch_assoc($re); } if(!empty($img_rg['name'])){ preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $img_rg["name"], $ext); $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; $caminho_imagem3 = "../rg/" . $nome_imagem; move_uploaded_file($img_rg["tmp_name"], $caminho_imagem3); $re = mysql_query("select * from cadastro") or die(mysql_error()); $rw = mysql_fetch_assoc($re); } mysql_query("INSERT INTO cadastro (nome,filiacao,cpf,rg,profissao,rua,bairro,numero,complemento,data,civil,foto,img_cpf,img_rg) VALUES ('".$nome."','".$filiacao."','".$cpf."','".$rg."','".$profissao."','".$rua."','".$bairro."','".$numero."','".$complemento."','".$data."','".$civil."','".$caminho_imagem1."','".$caminho_imagem2."','".$caminho_imagem3."')") or die(mysql_error()); ?>A diferença é que aqui ele envia pega cada imagem da forma correta do jeito que eu estava fazendo não ia dar certo nunca kkkkk. Mas muito obrigado assim mesmo. Para as pessoas que querem fazer ta ai o codigo…