0

Ajuda com form de edição de imagem

criado por armando Ferreira em 18/09/2010 12:18am
Malta isto foi o que eu consegui fazer
<?php

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']);

?>

problema:
imagina que fiz inicialmente um insert de 4 imagens, e verifiquei apos enviar as imagens para o banco de dados que tinha mais três imagens para enviar. Vou ao formulário de edição e na posição 5, 6, 7 carrego novas imagens . eu queria que ele no banco de dados com o id pertencente a viatura , não me apagasse as imagens 1, 2 , 3, 4.
Mas imagina que uma das imagens que já existe no banco de dados não é a correcta e eu queria fazer um update de uma certa imagem, gostaria que ela me fizesse um unlink da imagem no destino e me carrega-se a nova.
não estou conseguindo nada disto brother é essa minha necessidade. Se puder me ajuda.
Erros não mostra mas não faz que estou necessitando
Responder Citar

Lista de Respostas:

0
18/09/2010 12:59pm
(~13 anos atrás)
BOZO respondeu:
Posta isso no forum.
Isso aqui é uma FAQ!

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)