Tenho um problema com um formulário simples de actualização de informações do banco de dados.
Tudo funciona, mas quando visualizo um item para edição se não atualizar a imagem ela some quando se clica
no botão para fazer a atualização das informações.
Certamente deve ter relação com o fato de que todos os outros campos já estão preenchidos (óbvio!) e o campo
da imagem é um input tipo "file".
Será que alguém me pode ajudar a resolver este problema , meu projecto esta pegando fogo por causa do update dos dados.
code]
set_time_limit(0);
$data = date("Y-m-d");
if (isset($_REQUEST['submit']))
{
$strSQL = 'SELECT id FROM viaturas WHERE id = '.$_GET['id']; // ou o campo de ID que você tenha...
$rs = mysql_query($strSQL);
if (mysql_num_rows($rs) == 1) {
$imagens = $_FILES['arquivo'];
for($g=0; $g<=7; $g++)
//for($g=0; $g < sizeof($imagens); $g++)
// for ($g = 0; $g < count($imagens); $g++)
if($nome = $_FILES['arquivo']['name'][$g] != ""){ // para campos vazios
{
$nome = $_FILES['arquivo']['name'][$g];
$tipo = $_FILES['arquivo']['type'][$g];
$tmpname = $_FILES['arquivo']['tmp_name'][$g];
$renomear = md5(uniqid(rand(), true)); // nome aleatorio
$nome_grande = ($renomear . "-g.jpg"); // cria nome da imagem
$matriz[] = $nome_grande;
$pasta_imagens = "../cars/"; //diretorio pra onde vai a imagem
$caminho = $pasta_imagens . $nome; // caminho com nome da imagem e local para guardar
if(move_uploaded_file($tmpname, $caminho)) // move a tmp_name pro caminho dado
{
list($pontoX, $pontoY, $tipo) = getimagesize($caminho);
list($pontoX, $pontoY, $tipo) = getimagesize($caminho);
$img = imagecreatefromjpeg($caminho);
$largura_maxima = 640; //largura máxima
$altura_maxima = 480; //altura máxima
if ($pontoX == $pontoY) { // se a altura e largura originais forem iguais
$largura = $largura_maxima;
$altura = $largura_maxima;
}
elseif ($pontoX >= $pontoY) { // se a largura for maior que a altura
$nova_largura = $largura_maxima;
$nova_altura = ($pontoY*$nova_largura)/$pontoX;
// mas se depois da redução a altura for maior que $altura_maxima então reduz novamente
if ($nova_altura >= $altura_maxima) {
$altura = $altura_maxima;
$largura = ($nova_largura*$altura)/$nova_altura;
}
else {
$largura = $largura_maxima;
$altura = ($pontoY*$largura)/$pontoX;
}
}
elseif ($pontoX <= $pontoY) { // se a largura for menor que a altura
$nova_altura = $altura_maxima;
$nova_largura = ($pontoX*$nova_altura)/$pontoY;
// mas se depois da redução a largura for maior que a $largura_maxima então reduz novamente
if ($nova_largura >= $largura_maxima) {
$largura = $largura_maxima;
$altura = ($nova_altura*$largura)/$nova_largura;
}
else {
$altura = $altura_maxima;
$largura = ($pontoX*$altura)/$pontoY;
}
}
$foto_grande = imagecreatetruecolor($largura, $altura); // aqui eu pego a imagem no caminho e jogo na memoria
imagecopyresampled($foto_grande, $img, 0, 0, 0, 0, $largura, $altura, $pontoX, $pontoY); // sample da imagem com o tamanho
imagejpeg($foto_grande, $pasta_imagens . $nome_grande, 100);
unlink($caminho); // apaga a imagem original
} // if move_uploaded_file
}
$sql_insere= mysql_query("UPDATE viaturas SET imagem1='$matriz[0]', imagem2='$matriz[1]', imagem3='$matriz[2]', imagem4='$matriz[3]', imagem5='$matriz[4]', imagem6='$matriz[5]', imagem7='$matriz[6]', imagem8='$matriz[7]' WHERE id=".$_GET['id']);
Pergunta
biza
Tenho um problema com um formulário simples de actualização de informações do banco de dados.
Tudo funciona, mas quando visualizo um item para edição se não atualizar a imagem ela some quando se clica
no botão para fazer a atualização das informações.
Certamente deve ter relação com o fato de que todos os outros campos já estão preenchidos (óbvio!) e o campo
da imagem é um input tipo "file".
Será que alguém me pode ajudar a resolver este problema , meu projecto esta pegando fogo por causa do update dos dados.
Editado por bizaLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.