Ir para conteúdo
Fórum Script Brasil
  • 0

formulario de edição de upload de imagem


biza

Pergunta

ola pessoal este é sem duvida o meu maior pesadelo, estou a dar em maluco com esse form que pega os dados vindos do banco de dados , a questão é que eu quero que ele verifique se já existe imagem no banco e caso exista e se a pessoa quiser modificar modifica. caso se tenha esquecido de meter a imagem, ter a oportunidade de meter a imagem.

basicamente ele so edita os campos que estiverem mal os que não forem editados não se modificam.

<?
set_time_limit(0); 
$data = date("Y-m-d");
$imagens = $_FILES['arquivo'];
if (isset($_REQUEST['submit'])) 
{ 
$sql1 = "Select imagem1, imagem2, imagem3, imagem4, imagem5, imagem6, imagem7, imagem8 FROM viaturas where id=".$_GET['id'];
          $sql1 = mysql_query($sql) or die ("a pesquisa não foi bem sucedida");
      
          $imgs = mysql_fetch_array($sql1);
          
          $arquivo[0] = $imgs['Foto1'];
          $arquivo[1] = $imgs['Foto2'];
          $arquivo[2] = $imgs['Foto3'];
          $arquivo[3] = $imgs['Foto4'];
          $arquivo[4] = $imgs['Foto5'];
          $arquivo[5] = $imgs['Foto6'];
          $arquivo[6] = $imgs['Foto7'];
          $arquivo[7] = $imgs['Foto8']; 
          
          $pasta_imagens = "../cars/";
          for ($i=0; $i<7;$i++)    {      
            $foto_mini = $pasta_imagens.$arquivo[$i];
           
            //aqui ele vai ver se existe alguma coisa escrita no campo foto_receita na tabela

                        ///É necessario enviar junto ao file, um campo hidden contendo o valor dos campos das fotos no banco de dados pois, se não enviar, haverá sobscrição no banco e a imaghem que já esta cadastrada terá seu valor apagado
            echo "
                  <input type='file' name='arquivo[]'>
";
                                            }//Fimdo for
                                            
                                            if($nome = $_FILES['arquivo']['name'][$i] != ""){ // para campos vazios
{
        $nome = $_FILES['arquivo']['name'][$i];
        $tipo = $_FILES['arquivo']['type'][$i];
        $tmpname = $_FILES['arquivo']['tmp_name'][$i];

        $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

        //---------------------------------- CRIAR IMAGEM PROPORCIONAL -------------------------------------------

        if(move_uploaded_file($tmpname, $caminho)) // move a tmp_name pro caminho dado
        {
                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
}// fecha if dos campso vazios
 $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']);
}


$sql = "UPDATE viaturas SET modelo='".$_POST['modelo']."', preço='".$_POST['preço']."', quilometros='".$_POST['quilometros']."', velocidades='".$_POST['velocidades']."', cilindrada='".$_POST['cilindrada']."', cor_car='".$_POST['cor_car']."', cor_int='".$_POST['cor_int']."', potencia='".$_POST['potencia']."', portas='".$_POST['portas']."', ano='".$_POST['ano']."',  data='$data',  observacoes='".$_POST['observacoes']."', cat_id='".$_POST['cat']."', id_marca='".$_POST['marc']."',id_combustivel='".$_POST['comb']."' WHERE id = ".$_GET['id'];

$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados.");

                     
 $carroId = mysql_insert_id();
foreach($_POST['equipamentos'] as $equipamentoId){
    
    $sql2="UPDATE viatura_equipa SET viatura_id = '$carroId', equipamento_id='$equipamentoId' WHERE viatura_id=".$_GET['id'];
    $sql2 = mysql_query($sql2)
or die ("Houve erro na gravação dos dados.");
}

                
echo "<meta http-equiv='refresh' content='0;URL=index2.php?pag=via'>";
}
?>

me ajudem por favor!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

FiT isso foi o que eu consegui fazer fiz a tal verificação do id da viatura a que pertencem as fotos

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

Editado por biza
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...