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

Upload de IMG para pasta e dados no BD


Alex Xavier

Pergunta

Bom dia todos deste forum ,

Gostaria de contar com a ajuda de vocês no seguinte aspecto , fiz um BD onde guardo os chamdos da empresa (Helpdesk) e está funcionando uma beleza , mas meu superior foi trocar de servidor ao tentar importar a BD chamado deu erro pois o script que fiz eu tranformei a foto em binário e salvei em um campo mediumblob e agora ele quer que ao invé de salvar em no BD ele quer que salve numa pasta e vincule o ID do chamado com o a imagem na pasta.

Achei em um forum um script que parece que faz isto e tentei adptar ao meu código. segue abaixo os scripts que estou utilizando.

Tabela chamado

CREATE TABLE `chamados` (                          
            `codigo` int(11) NOT NULL auto_increment,        
            `data_abertura` varchar(8) NOT NULL default '',  
            `data_fecha` varchar(8) NOT NULL default '',     
            `hora_abertura` varchar(5) NOT NULL default '',  
            `hora_fecha` varchar(5) NOT NULL default '',     
            `setor` varchar(15) NOT NULL default '',         
            `ip` char(3) NOT NULL default '',                
            `descricao` text NOT NULL,                       
            `solucao` text NOT NULL,                         
            `tipo` varchar(25) NOT NULL default '',          
            `nome` varchar(50) NOT NULL default '',          
            `email` varchar(70) NOT NULL default '',         
            `status` varchar(12) NOT NULL default '',        
            `obs` text NOT NULL,                             
            `tecnico` varchar(70) NOT NULL default '',       
            `img` varchar(100) default NULL,                 
            `ext` varchar(4) default NULL,                   
            PRIMARY KEY  (`codigo`)                          
          ) TYPE=MyISAM COMMENT='Cadastro dos Chamados'
config.php
<?php

// Sistema de HelpDesk
// Base = MySQL

$Host= "localhost";   //<----aqui você deve configurar o caminho para o host


// helpdesk
$Base= "helpdesk";  //não mude
$Usuario= "seuusuario";   //<---------aqui você deve colocar o usuario do mysql
$Senha= "suasenha";  //<---------aqui você deve colocar a senha do mysql
//$Nivel= "";
?>
chamdo_user1.php
<?php
    $date = date("d/m/y");
    $hora = date("H:i");

    include "config.php";
    include "valida_user.inc";
    include "layout.php";

?>

<html>
<head>
 <TITLE><?php echo $Title ?></TITLE>
 &lt;script LANGUAGE="JavaScript">
function validation() {
    if (document.form1.nome.value.length < 1 ) {
        window.alert("Favor Preencher o campo NOME!");
        document.form1.nome.focus();
        return false;
    }
    if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form1.email.value)))
    {
        window.alert("Favor Preecher um E-Mail válido.");
        document.form1.email.focus();
        return false;
    }
    if (document.form1.resumo.value.length < 1) {
        window.alert("Favor Preencher o campo RESUMO!");
        document.form1.resumo.focus();
        return false;
    }
    if (document.form1.setor.value.length < 1) {
        window.alert("Favor Preencher o campo SETOR!");
        document.form1.setor.focus();
        return false;
    }
      if (document.form1.tipo.value.length < 1) {
        window.alert("Favor Preencher o campo TIPO!");
        document.form1.tipo.focus();
        return false;
    }
    if (document.form1.descricao.value.length < 1) {
        window.alert("Favor Preencher o campo Descrição!");
        document.form1.descricao.focus();
        return false;
    }
    return true;
}

<form name="form1" method="post" enctype="multipart/form-data" action=" <?php echo 'save_chamado_user.php?op=inclusao'?>" onSubmit="return validation();">
<table bgcolor="<?php echo $cor_2 ?>" border="0" cellspacing="0" cellpadding="0" align="center" style="border-color: black; border-style: solid; border-width:1; font-family: verdana; font-size:10;">
        <tr>
              <td colspan="2" bgcolor="<?php echo $cor_bg_tit_campos ?>"><Font face="Arial" size="2" color="<?php echo $cor_titulos_form ?>"><p align="center"><b>Inclusão de Chamado</b></p></font></td>
        </tr>
        <tr>
            <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"> </td>
            <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>"> </td>
        </tr>
        <tr>
            <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"><div align="right"><font color="<?php echo $cor_titulos_campos ?>"><b>*Nome: </b></font></div></td>
            <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>">  <input type="text" maxlength="50" name="nome" size="50" value="<?php echo $oRow->nome?>"></td>
        </tr>
        <tr>
            <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"><div align="right"><font color="<?php echo $cor_titulos_campos ?>"><b>*E-mail: </b></font></div></td>
            <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>">  <input type="text" maxlength="50" name="email" size="50"value="<?php echo $oRow->email?>"></td>
        </tr>
        <tr>
      <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"><div align="right"><font color="<?php echo $cor_titulos_campos ?>"><b>*Resumo: </b></font></div></td>
      <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>">  <input type="text" maxlength="50" name="resumo" size="50"value="<?php echo $oRow->resumo?>"></td>
    </tr>
        <tr>
            <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"><div align="right"><font color="<?php echo $cor_titulos_campos ?>"><b>*Setor: </b></font></div></td>
            <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>">  <input type="text" maxlength="15" name="setor" size="15" value="<?php echo $oRow->setor?>"></td>
        </tr>
        <tr>
            <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"><div align="right"><font color="<?php echo $cor_titulos_campos ?>"><b>Tipo: </b></font></div></td>
            <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>"> 
            <select size="1" name="tipo">
            <option value="<?php echo $oRow->tipo ?>"><?php echo $oRow->tipo ?></option>
            <option value="Hardware">Hardware</option>
            <option value="Software">Software</option>
            <option value="Duvidas">Dúvidas</option>
            <option value="Outros">Outros</option>
            </select></td>
        </tr>
        <tr>
            <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"><div align="right"><font color="<?php echo $cor_titulos_campos ?>"><b>*Descrição do Problema: </b></font></div></td>
            <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>">  <textarea rows="5" cols="42" name="descricao"value="<?php echo $oRow->descricao?>"  ></textarea></td>
        </tr>
        <tr>
            <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"><div align="right"><font color="<?php echo $cor_titulos_campos ?>"><b>Observação: </b></font></div></td>
            <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>">  <textarea rows="5" cols="42" maxlength="250" name="obs" size="120" value="<?php echo $oRow->obs?>"></textarea></td>
        </tr>
        <tr>
                  <td bgcolor="<?php echo $cor_bg_tit_campos ?>"><div align="right"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"><b>Anexar: </b></font></div></td>
                  <td bgcolor="<?php echo $cor_bg_dados_inputs ?>">  <input name="arq_img" type="file"></td>
    </tr>
        <tr>
            <td width="100" bgcolor="<?php echo $cor_bg_tit_campos ?>"> </td>
            <td width="400" bgcolor="<?php echo $cor_bg_dados_inputs ?>"> </td>
        </tr>
        <tr>
              <td colspan="2" bgcolor="<?php echo $cor_bg_tit_campos ?>"><p align="center"><input type = "submit" name="Submit" value ="Enviar"><input type="reset" name="limpar" value="Limpar"></p></td>
        </tr>
  </table>
    
<p align="center"><table width="500" border="0">
<tr>
<td><font face="verdana" size="2" color="<?php echo $cor_outros_textos ?>">Os campos com "*" são de preenchimento obrigatório.<br>Ao enviar o chamado, o mesmo será reportado ao Depto de Tecnologia, e uma cópia será enviado para você no e-mail informado acima.</font></td>
</tr>
</table>
</form>
save.chamdo_user.php
<?php
    $date = date("d/m/y");
    $hora = date("H:i");

    include "config.php";
     include "layout.php";
/*   
    //VERIFICA SE O FORM FOI ENVIADO
      if($_POST) { 
         
         //CONECTA AO MYSQL                                               
         $conn = mysql_connect($Host, $Usuario, $Senha);
                 mysql_select_db($Base);
                    
         
         //RECEBE DADOS DO FORMULÁRIO               
         $pFoto = $_FILES["arquivo"]["tmp_name"];   
         $pTipo = $_FILES["arquivo"]["type"];  
         $ext = end(explode(".",$_FILES['arquivo']['name']));
         
         
         //ABRE ARQUIVO                        
         $pont = fopen($pFoto, "r"); 
         
         //PERCORRE O ARQUIVO                                       
        $dados = addslashes(fread($pont, filesize($pFoto))); 
         
         //INSERE NA BASE DE DADOS*/
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

//if(isset($_POST["insert"]) && ($_POST["insert"] == "form1")) {
if($_FILES['arq_img'] == '')
{
    if(isset($_POST['arq_img']) && $_POST['arq_img'] != '')
    {
        $foto = $_POST['arq_img'];
    }
    else
    {
        $foto = 'fotoDefault.jpg';
    }
    $err = TRUE;
}
else
{
    require_once "uploadImage.php";
}
if($err)
{

$insertSQL = sprintf("insert into chamados (data_abertura, data_fecha, hora_abertura, hora_fecha, setor, ip, descricao, solucao, tipo, nome, email,resumo, status, obs,img)
                 values ('" . $date . "',
                         '" . "" . "',
                         '" . $hora . "',
                         '" . "" . "',
                         '" . $HTTP_POST_VARS["setor"]  . "',
                         '" . "" . "',
                         '" . $HTTP_POST_VARS["descricao"]  . "',
                         '" . "" . "',
                         '" . $HTTP_POST_VARS["tipo"]  . "',
                         '" . $HTTP_POST_VARS["nome"]  . "',
                         '" . $HTTP_POST_VARS["email"]  . "',
                         '" .$HTTP_POST_VARS["resumo"] ."',
                         '" . "Aberto"  . "',
                         '" . $HTTP_POST_VARS["obs"]  . "',
                         '" . $foto . "')";
                         
  $Result1 = mysql_query($insertSQL) or die(mysql_error());
  echo mysql_error();
  if($Result1 > 0)
  {
     echo('&lt;script> alert("Cadastro efetuado com sucesso!");  </script>');
  }
}
   
       
$email_user = ($HTTP_POST_VARS["email"]);

    $sQuery2 = "select codigo, data_abertura, data_fecha, hora_abertura, hora_fecha, setor, ip, descricao, solucao, tipo, nome, status, obs
                from   chamados
                where hora_abertura like '$hora' and email like '$email_user'
                order by codigo";
    $oUsers = mysql_query($sQuery2);
    $num_registros = mysql_num_rows($oUsers);

$oRow = mysql_fetch_object($oUsers);
$cod_exibir = $oRow->codigo; // variavel que armazena o número do chamado.

//echo $cod_exibir; //mostra o código em tela.

//////captura das informações

$setor = ($HTTP_POST_VARS["setor"]);
$tipo = ($HTTP_POST_VARS["tipo"]);
$descricao = ($HTTP_POST_VARS["descricao"]);
$nome = ($HTTP_POST_VARS["nome"]);
$obs = ($HTTP_POST_VARS["obs"]);

//////envio dos emails para os administradores

$msg = "#--------------------- Sistema de HelpDesk ---------------------#\n";
$msg .= "--------\n";
$msg .= "Código do Chamado: $cod_exibir\n";
$msg .= "--------\n";
$msg .= "Data da Abertura: $date\n";
$msg .= "--------\n";
$msg .= "Hora de Abertura: $hora\n";
$msg .= "--------\n";
$msg .= "Nome do Usuário: $nome\n";
$msg .= "--------\n";
$msg .= "E-mail: $email_user\n";
$msg .= "--------\n";
$msg .= "Setor: $setor\n";
$msg .= "--------\n";
$msg .= "Tipo: $tipo\n";
$msg .= "--------\n";
$msg .= "Descrição do Problema: $descricao\n";
$msg .= "--------\n";
$msg .= "Observação: $obs\n";
$msg .= "--------\n";
$msg .= "#--------------------- Fim do Chamado ---------------------#\n";


$cabecalho = "From: HelpDesk";#Titulo da mensagem

mail("$email",  " $nome, Abriu um Chamado", $msg, $cabecalho);

///fim do envio para administradoresas

//////envio dos emails para os usuarios

$msg = "#--------------------- Sistema de HelpDesk ---------------------#\n";
$msg .= "--------\n";
$msg .= "Prezado(a) $nome, seu chamado foi registrado em nosso sistema conforme os dados abaixo:\n";
$msg .= "\n";
$msg .= "Código do Chamado: $cod_exibir\n";
$msg .= "--------\n";
$msg .= "Data de Abertura: $date\n";
$msg .= "--------\n";
$msg .= "Hora de Abertura: $hora\n";
$msg .= "--------\n";
$msg .= "Nome do Usuário: $nome\n";
$msg .= "--------\n";
$msg .= "E-mail: $email_user\n";
$msg .= "--------\n";
$msg .= "Setor: $setor\n";
$msg .= "--------\n";
$msg .= "Tipo: $tipo\n";
$msg .= "--------\n";
$msg .= "Descrição do Problema: $descricao\n";
$msg .= "--------\n";
$msg .= "Observação: $obs\n";
$msg .= "--------\n";
$msg .= "Através do endereço http://mail.betocarrero.com.br/helpdesk/consulta_status.htm você poderá verificar o andamento do chamado aberto.\n";
$msg .= "#---------------------------------------------------------------#\n";


$cabecalho = "From: HelpDesk";#Titulo da mensagem

mail("$email_user",  "Registro do Chamado Nº $cod_exibir", $msg, $cabecalho);

?>

<html>
<head><title><?php echo $Title ?></title></head>
<body>

<table width="600" border="0">
<tr>
<td><center><img src="img/logotipo_sistema.jpg"></center></td>
</tr>
<tr>
<td><center><font face="verdana" size="2" color="<?php echo $cor_outros_textos ?>"><b>Confirmação de Envio do Chamado Aberto</b></font></center></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><font face="verdana" size="2" color="<?php echo $cor_outros_textos ?>"> </font><center>
  <font color="<?php echo $cor_outros_textos ?>" size="2" face="verdana">Prezado(a) <?php echo $nome ?>, os dados informados foram registrados com sucesso em nosso sistema, dentro de instantes o Administrador do Sistema estará recebendo um e-mail  com o número do chamado e com os dados enviados.</font>
</center></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><font face="verdana" size="2" color="<?php echo $cor_outros_textos ?>"><center><b><?php echo $title_confirmacao ?></b></center></font></td>
</tr>
<tr>
<td align="center"><a href="chamado_user1.php">Voltar</a></td>
</tr>
</table>
</body>
</html>
uploadImage.php
<?
$arquivo = isset($_FILES["arq_img"]) ? $_FILES["arq_img"] : FALSE;
$max_image_x = 600;
$max_image_y = 480;
$diretorio = 'C:/imagens/';  //diretório onde esão as imagens
if($arquivo)
{
    $tamanho = getimagesize($arquivo["tmp_name"]);
    ini_set ("max_execution_time", 3600); // uma hora
    require_once "functionsUpload.php";
    $err = FALSE;
    if(is_uploaded_file($arquivo['tmp_name']))
    {
        if(verifica_image($arquivo))
        {
            $tamanho = getimagesize($arquivo["tmp_name"]);
            $dimensiona = verifica_dimensao_image($arquivo, $max_image_x, $max_image_y);
            if($dimensiona != '')
            {
                if($dimensiona == 'altura')
                {
                        $auxImage = $max_image_x;
                        $max_image_x = $max_image_y;
                        $max_image_y = $auxImage;
                }
            }
            else
            {
                $max_image_x = $tamanho[0];
                $max_image_y = $tamanho[1];
            }
            
            $nome_foto  = ('imagem_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto
            $endFoto = $diretorio . $nome_foto;
            if(reduz_imagem($arquivo['tmp_name'], $max_image_x, $max_image_y, $endFoto))
            {
                $err = TRUE;
            }  
        }
    }
}
?>
functionUpload.php
<?php
    function verifica_image($img)
    {
        // Verifica se o mime-type do arquivo é de imagem
        if(eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $img["type"]))
        {
            return (TRUE);
        }
        return (FALSE);
    }// fim verifica_image
    
    function verifica_extensao_image($img)
    {
        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $img["name"], $ext);
        return ($ext[1]);
    }//fim verifica_extensao_imag
    
    function verifica_dimensao_image($img, $max_x, $max_y)
    {
        $dimensaoImage = getimagesize($img["tmp_name"]);
        $dimensao = '';
        // Verifica largura
        if($dimensaoImage[0] > $dimensaoImage[1])
        {
            if($dimensaoImage[0] > $max_x)
            {
                $dimensao = 'largura';
            }
        }
        else
        {
            if($dimensaoImage[0] < $dimensaoImage[1])
            {
                if($dimensaoImage[1] > $max_x)
                {
                    $dimensao = 'altura';
                }
            }
            else
            {
                if($dimensaoImage[0] == $dimensaoImage[1])
                {
                    if($dimensaoImage[0] > $max_x)
                    {
                        $dimensao = 'largura';
                    }
                }
            }
        }
        return ($dimensao);        
    }//fim verifica_dimensao_image
    
    function reduz_imagem($img, $max_x, $max_y, $nome_foto) 
    {
        //pega o tamanho da imagem ($original_x, $original_y)
        list($width, $height) = getimagesize($img);
        $original_x = $width;
        $original_y = $height;
        // se a largura for maior que altura
        if($original_x > $original_y) {
               $porcentagem = (100 * $max_x) / $original_x;      
        } 
        else {
               $porcentagem = (100 * $max_y) / $original_y;
        }
        $tamanho_x = $original_x * ($porcentagem / 100);
        $tamanho_y = $original_y * ($porcentagem / 100);
        $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);
        $image   = imagecreatefromjpeg($img);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);
        return imagejpeg($image_p, $nome_foto, 100);
    }//fim reduz_imagem
?>
Conforme vocês podem visualizar eu comentei o meu codigo antido e tentei adpatar o script que eu achei mas ele está dando o seguinte erro.
Parse error: parse error in c:\serv-n\www\helpdesk1\save_chamado_user.php on line 89

Por gentileza quem puder me ajudar serei muito grato e que Deus abençõe a todos deste Forum

Atenciosamente

Alex Xavier Rosa

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

ESerra e a todos quem puder me ajudar , eu me esqueci de mencionar que tenho um arquivo onde listo todos os chamdos aberto cada um com seu código e onde tenho um link que clincando faz download da imagem para o computador local.

Segue abaixo o listar_chamado

listar_chamdo_user.php

<?php

    include "config.php";
    include "valida_user.inc";
     include "layout.php";

    mysql_connect($Host, $Usuario, $Senha);
    mysql_select_db($Base);
    
    $sQuery = " select *
                from chamados
                order by codigo";
    $oUsers = mysql_query($sQuery);
    $num_registros = mysql_num_rows($oUsers);
?>

&lt;script>
    function alterar(id){
        window.location = 'chamado_user1.php?id='+id;
    }
    function visualizar(id){
        window.location = 'visu_chamado.php?id='+id;
    }
    function anexar(id){
        window.location = 'anexar_arquivo.php?id='+id;
    }
</script>
<html>
<head>
 <TITLE><?php echo $Title ?></TITLE>
<?php
 include "script_grade.php"; // o script do lado é responsável pela troca das cores na tabela de listagem.
?>



</head>
<body style="font-family: verdana; font-size:11;" bgcolor="<?php echo $cor_pagina ?>">
<table border="0" align="center" width="100%" style="border-color: black; border-style: solid; border-width:1; font-family: verdana; font-size:10;">
  <tr>
    <td bgcolor="<?php echo $cor_bg_tit_campos ?>" colspan="15"><font face="Arial" size="2" color="<?php echo $cor_titulos_form ?>">
    <p align="center"><b><?php echo $tit1_list_chamado ?></b></p></font></td>
  
  <tr bgcolor="<?php echo $cor_bg_tit_campos ?>">
    <td colspan="3"> </td>
    <td width="62"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Codigo
      </center>
    </font></td>
    <td width="162"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Sugestão
      </center>
    </font></td>
    <td width="62"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Implantacao
      </center>
    </font></td>
    <td width="124"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> 
      </font><center>
        <font color="<?php echo $cor_titulos_campos ?>" size="1" face="verdana">
        SResu
      </font>
      </center>
    </td>
    <td width="26"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        IP
      </center>
    </font></td>
    <td width="44"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Tipo
      </center>
    </font></td>
    <td width="132"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Nome
      </center>
    </font></td>
    <td width="100"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Status
      </center>
    </font></td>
    <td width="86"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Anexo
      </center>
    </font></td>
  </tr>
  <?php
        while ($oRow = mysql_fetch_object($oUsers)) {
            echo "<tr bgcolor=\"$cor_bg_dados_inputs\" ONMOUSEOVER=\"move_i(this)\" ONMOUSEOUT=\"move_o(this)\">
                      <td align=\"center\"><a href=\"#\" onClick=\"alterar('". $oRow->codigo ."')\"><img src=\"img/alterar.jpg\" alt=\"Alterar\" width=\"15\" height=\"16\" border=\"0\"></a></td>
                      <td align=\"center\"><a href=\"#\" onClick=\"visualizar('". $oRow->codigo ."')\"><img src=\"img/ver.jpg\" alt=\"Visualizar\" width=\"15\" height=\"16\" border=\"0\"></a></td>
                      <td align=\"center\"><a href=\"#\" onClick=\"anexar('". $oRow->codigo ."')\"><img src=\"img/anexar.jpg\" alt=\"Anexar\" width=\"15\" height=\"16\" border=\"0\"></a></td>
                      <td><center><font color=\"$cor_dados\">$oRow->codigo</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->data_abertura</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->hora_abertura</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->setor</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->ip</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->tipo</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->nome</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->status</font></center></td>
         <td><a href=\"baixar_chamado_anexo.php?codigo=" . $oRow->codigo . "\><font color=\"$cor_dados\"><b>Baixar</b></font></a></td>
                     
                  </tr>";
        }
        ?>
</table >
<p>

</body>
</html>
baixar_chamado_anexo.php
<?php

       include "config.php";
       include "valida_user.inc";
    
       $con= mysql_connect($Host, $Usuario, $Senha);
        mysql_select_db($Base);
//Aí na página baixarAnexo.php você vai pegar o Id
$id = $_GET['codigo'];

//Você vai o select
$buscar = mysql_query("SELECT arquivo,ext FROM chamados WHERE codigo = '$id'",$con);
$linha = mysql_fetch_array($buscar);

//Aí a partir daqui vem aquele código que eu já te passei...
$nomeArquivo = md5(uniqid(time())) . "." . $linha['ext'];
$file = fopen($nomeArquivo,"a+");
fwrite($file,$linha['arquivo']);
fclose($file);

//Forçando o download...
header("Content-type: application/save");
header("Content-Disposition: attachment; filename=" . $nomeArquivo);
header("Content-Length: " . filesize($nomeArquivo));
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0",false);
//header("Pragma: no-cache");
//header("Content-Transfer-Encoding: binary\n");
readfile($nomeArquivo);

//Apagando o arquivo
unlink($nomeArquivo);

//Redirecionando a página anterior
header("Location: listar_chamado_user.php");
?>
Então na linha que segue abaixo preciso colocar um link para a pasta onde irá ficar a imagem referente ao codigo gerado no BD
<td><a href=\"baixar_chamado_anexo.php?codigo=" . $oRow->codigo . "\><font color=\"$cor_dados\"><b>Baixar</b></font></a></td>

Novamente Obrigado e que Deus os Abençõe fique Ele.

Atenciosamente

Alex Xavier Rosa

Link para o comentário
Compartilhar em outros sites

  • 0
ESerra e a todos quem puder me ajudar , eu me esqueci de mencionar que tenho um arquivo onde listo todos os chamdos aberto cada um com seu código e onde tenho um link que clincando faz download da imagem para o computador local.

Segue abaixo o listar_chamado

listar_chamdo_user.php

<?php

    include "config.php";
    include "valida_user.inc";
     include "layout.php";

    mysql_connect($Host, $Usuario, $Senha);
    mysql_select_db($Base);
    
    $sQuery = " select *
                from chamados
                order by codigo";
    $oUsers = mysql_query($sQuery);
    $num_registros = mysql_num_rows($oUsers);
?>

&lt;script>
    function alterar(id){
        window.location = 'chamado_user1.php?id='+id;
    }
    function visualizar(id){
        window.location = 'visu_chamado.php?id='+id;
    }
    function anexar(id){
        window.location = 'anexar_arquivo.php?id='+id;
    }
</script>
<html>
<head>
 <TITLE><?php echo $Title ?></TITLE>
<?php
 include "script_grade.php"; // o script do lado é responsável pela troca das cores na tabela de listagem.
?>



</head>
<body style="font-family: verdana; font-size:11;" bgcolor="<?php echo $cor_pagina ?>">
<table border="0" align="center" width="100%" style="border-color: black; border-style: solid; border-width:1; font-family: verdana; font-size:10;">
  <tr>
    <td bgcolor="<?php echo $cor_bg_tit_campos ?>" colspan="15"><font face="Arial" size="2" color="<?php echo $cor_titulos_form ?>">
    <p align="center"><b><?php echo $tit1_list_chamado ?></b></p></font></td>
  
  <tr bgcolor="<?php echo $cor_bg_tit_campos ?>">
    <td colspan="3"> </td>
    <td width="62"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Codigo
      </center>
    </font></td>
    <td width="162"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Sugestão
      </center>
    </font></td>
    <td width="62"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Implantacao
      </center>
    </font></td>
    <td width="124"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> 
      </font><center>
        <font color="<?php echo $cor_titulos_campos ?>" size="1" face="verdana">
        SResu
      </font>
      </center>
    </td>
    <td width="26"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        IP
      </center>
    </font></td>
    <td width="44"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Tipo
      </center>
    </font></td>
    <td width="132"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Nome
      </center>
    </font></td>
    <td width="100"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Status
      </center>
    </font></td>
    <td width="86"><font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>">
      <center>
        Anexo
      </center>
    </font></td>
  </tr>
  <?php
        while ($oRow = mysql_fetch_object($oUsers)) {
            echo "<tr bgcolor=\"$cor_bg_dados_inputs\" ONMOUSEOVER=\"move_i(this)\" ONMOUSEOUT=\"move_o(this)\">
                      <td align=\"center\"><a href=\"#\" onClick=\"alterar('". $oRow->codigo ."')\"><img src=\"img/alterar.jpg\" alt=\"Alterar\" width=\"15\" height=\"16\" border=\"0\"></a></td>
                      <td align=\"center\"><a href=\"#\" onClick=\"visualizar('". $oRow->codigo ."')\"><img src=\"img/ver.jpg\" alt=\"Visualizar\" width=\"15\" height=\"16\" border=\"0\"></a></td>
                      <td align=\"center\"><a href=\"#\" onClick=\"anexar('". $oRow->codigo ."')\"><img src=\"img/anexar.jpg\" alt=\"Anexar\" width=\"15\" height=\"16\" border=\"0\"></a></td>
                      <td><center><font color=\"$cor_dados\">$oRow->codigo</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->data_abertura</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->hora_abertura</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->setor</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->ip</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->tipo</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->nome</font></center></td>
                      <td><center><font color=\"$cor_dados\">$oRow->status</font></center></td>
         <td><a href=\"baixar_chamado_anexo.php?codigo=" . $oRow->codigo . "\><font color=\"$cor_dados\"><b>Baixar</b></font></a></td>
                     
                  </tr>";
        }
        ?>
</table >
<p>

</body>
</html>
baixar_chamado_anexo.php
<?php

       include "config.php";
       include "valida_user.inc";
    
       $con= mysql_connect($Host, $Usuario, $Senha);
        mysql_select_db($Base);
//Aí na página baixarAnexo.php você vai pegar o Id
$id = $_GET['codigo'];

//Você vai o select
$buscar = mysql_query("SELECT arquivo,ext FROM chamados WHERE codigo = '$id'",$con);
$linha = mysql_fetch_array($buscar);

//Aí a partir daqui vem aquele código que eu já te passei...
$nomeArquivo = md5(uniqid(time())) . "." . $linha['ext'];
$file = fopen($nomeArquivo,"a+");
fwrite($file,$linha['arquivo']);
fclose($file);

//Forçando o download...
header("Content-type: application/save");
header("Content-Disposition: attachment; filename=" . $nomeArquivo);
header("Content-Length: " . filesize($nomeArquivo));
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0",false);
//header("Pragma: no-cache");
//header("Content-Transfer-Encoding: binary\n");
readfile($nomeArquivo);

//Apagando o arquivo
unlink($nomeArquivo);

//Redirecionando a página anterior
header("Location: listar_chamado_user.php");
?>
Então na linha que segue abaixo preciso colocar um link para a pasta onde irá ficar a imagem referente ao codigo gerado no BD
<td><a href=\"baixar_chamado_anexo.php?codigo=" . $oRow->codigo . "\><font color=\"$cor_dados\"><b>Baixar</b></font></a></td>
Novamente Obrigado e que Deus os Abençõe fique Ele. Atenciosamente Alex Xavier Rosa
Cara eu nuM sei se é bem o que você quer .. o que eu tenho so grava no BD o nome da Imagem tipo "imagem.jpg". mas eu to postando o codigo aki pra ti da uma olhada... vo explicar resumido.. no inicio do codigo tem uma verificação do tamanho da imagem...ok isso vai ficar em um input text type hidden no form que você vai fazer o upload..ok depois é setado um diretorio onde vai ficar guardada a imagem..ou seja a pasta que você escolher... "$diretorio = "c:/....." entedeu... Segue abaixo:
$maximo = $_POST['max']; // VERIFICA O TAMANHO DA IMAGEM
// não esqueça de colocar no final as barras \\ (para Windows) e / 

$diretorio = "C:\\sistema\\bykamyReservaTecnica\\foto_usuario\\"; //DIRETORIO ONDE VAI SER GUARDADA A FOTO
$sql="Select * from usuario where 1 and id='$id'"; // CONSULTA NO BD
//echo $sql; "-- -- ";
$qdf=mysql_query($sql,$con) or die (mysql_error());
$res02= mysql_fetch_array($qdf,MYSQL_ASSOC);
$foto_old = $res02['foto']; //AKI CRIEI UMA VARIAVEL PARA A FOTO QUE já ESTA NO BD

if(file_exists($diretorio.$foto_old)){ // ESSA LINHA FAZ O SEGUINTE SE já EXISTE UMA FOTO NA PASTA ... 
unlink($diretorio.$foto_old);           // CASO SEJA FEITO UM NOVO UPLOAD PARA O USUARIO O ESTE COMAND
                                                   // DELETA AUTOMATICAMENTE A IMAGEM DA PASTA E COLOCA A NOVA NO LUGAR
}//else{

if(!empty($foto)){ // SE FOR DIFERENTE DE VAZIO FAZ O UPLOAD DA IMAGEM
       

if($_FILES['foto']['size'] > $maximo){
        print "O arquivo excede o máximo permitido!";
        exit;
}
function acento($novo){
        $novo = strtolower($novo);
        $novo = str_replace("á","a", $novo);
        $novo = str_replace("à","a", $novo);
        $novo = str_replace("â","a", $novo);
        $novo = str_replace("ã","a", $novo);
        $novo = str_replace("ê","e", $novo);
        $novo = str_replace("é","e", $novo);
        $novo = str_replace("í","i", $novo);
        $novo = str_replace("ì","i", $novo);
        $novo = str_replace("õ","o", $novo);
        $novo = str_replace("ô","o", $novo);
        $novo = str_replace("ó","o", $novo);
        $novo = str_replace("ú","u", $novo);
        $novo = str_replace("ù","u", $novo);
        $novo = str_replace("ç","c", $novo);
        $novo = str_replace("/","_", $novo);
return $novo;
};



$arq = acento($_FILES['foto']['name']);

$upload = $diretorio.$arq;

if(move_uploaded_file($_FILES['foto']['tmp_name'], $upload)){
       
$ok = true; /// VERIFICA SE TUDO DEU CERTO

}}

if(($ok)&&($acao == "cad")){

$sql3 = "Update usuario set foto ='".$arq."' where id='$id'";
}
//echo $sql3; echo"<br>"; echo $foto_old;"<br>";echo $diretorio.$foto_old;
$qdf3 = mysql_query($sql3,$con) or die(mysql_error());

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...