Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AmaandaSantos3

Upload de imagem

Recommended Posts

Eu tenho esse seguinte código: 


 

public function queryInsert(){
try{
            $this->titulo = $_POST['titulo'];
            $this->sub = $_POST['sub'];
            $this->descricao = $_POST['descricao'];
            $this->data = $_POST['data'];
            $this->status = $_POST['status'];
            $this->usuario = $_SESSION['usuarioNome'];
            $arquivo = $_FILES['arquivo'];
            $largura = 280;        //280px
            $altura = 180;        //180px
            $tamanho = 400000;    //1MB
            $diretorio = "upload/";
            //2º PARTE (VERIFICANDO A EXISTENCIA DO ARQUIVO E FAZENDO A VALIDACAO DO MESMO COM TRÊS CONDIÇÕES)
            if(!empty($arquivo['name'])){
                //VALIDANDO O TIPO DE IMAGEM
                //echo $arquivo['type'];
                if(!preg_match('/^(image)\/(jpeg|png)$/', $arquivo['type'])){
                    $error = '<script type="text/javascript">alert("Só pode ser enviado imagens (JPG e PNG).");</script>';
                }
                //VALIDANDO AS DIMENSÕES DO ARQUIVO
                $dimensoes = getimagesize($arquivo['tmp_name']);
                if($dimensoes[0] > $largura || $dimensoes[1] > $altura){
                    $error = '<script type="text/javascript">alert("Esta imagem precisa está nessas dimensões 280x180.");</script>';
                }
                //VALIDANDO O TAMANHO DO ARQUIVO
                if($arquivo['size'] > $tamanho){
                    $error = '<script type="text/javascript">alert("Esta imagem precisa ser menor que 1MB.");</script>';
                }
                //3º PARTE (ALTERANDO O NOME DO ARQUIVO E ENVIANDO PARA PASTA QUE LHE FOI DESTINADA)                        
                if(count($error) == 0){
                    $ext = pathinfo($arquivo['name']);
                    $nome_imagem = $this->objfc->normalizaString($this->titulo).'.'.$ext['extension'];/**/
                    //NÃO ESQUECER DE SETAR PERMIÇÃO NAS PASTA QUE IRÁ RECEBER O UPLOAD.
                    $caminho_imagem = $diretorio.$nome_imagem;
                    move_uploaded_file($arquivo['tmp_name'], $caminho_imagem);
                    //CADASTRANDO AS INFORMAÇÕES
                    $cst = $this->con->conectar()->prepare("INSERT INTO `publicacoes` (`Titulo`, `Subtitulo`, `Descricao`, `Foto`, `Status`, `Usuario`, `Data`) VALUES (:titulo, :sub, :descricao, :arquivo, :status, :usuario, :data);");
                    $cst->bindParam("titulo", $this->titulo, PDO::PARAM_STR);
                    $cst->bindParam(":sub", $this->sub, PDO::PARAM_STR);
                    $cst->bindParam(":descricao", $this->descricao, PDO::PARAM_STR);
                    $cst->bindParam(':arquivo', $nome_imagem, PDO::PARAM_STR);
                    $cst->bindParam(":status", $this->status, PDO::PARAM_STR);
                    $cst->bindParam(":usuario", $this->usuario, PDO::PARAM_STR);
                    $cst->bindParam(":data", $this->data, PDO::PARAM_STR);
                    
                    if($cst->execute()){
                        header('location: blog.php');
                    }else{
                        echo '<script type="text/javascript">alert("Erro em armazenar os dados");</script>';
                    }
                }else{
                    echo $error;
                }
            }else{
                echo '<script type="text/javascript">alert("Escolha o arquivo para Upload");</script>';
            }
        }catch(PDOException $ex){
            echo '<script type="text/javascript">alert("Error: '.$ex->getMessage().'");</script>';
        }
    }

Com esse formulário:

<form method="post" action="" name="upload" enctype="multipart/form-data">
   <div class="form-row mt-3 ">
          <div class="form-group col-md-6">
            <img src="tracinhosnovos.png">  <label for="inputNomeCompleto">Titulo do Projeto</label>
            <input type="text" class="form-control" id="titulo" placeholder="Título do Projeto" required name="titulo">
          </div>
          <div class="form-group col-md-6">
            <img src="tracinhosnovos.png">  <label for="inputCPF">Subtitulo</label>
            <input type="text" class="form-control" id="sub" placeholder="Subtitulo" required name="sub">
          </div>
    
          <div class="form-group col-md-12">
            <img src="tracinhosnovos.png">  <label for="inputDataNascimento">Descrição</label>
            <textarea class="form-control" id="descricao" name="descricao" placeholder="Fale sobre o seu projeto" rows="6"></textarea>
          </div>
         
         <div class="form-group">
    <img src="tracinhosnovos.png">  <label for="exampleFormControlFile1">Adicione uma imagem ao seu projeto</label>
    <input type="file" class="form-control-file" multiple="" id="foto" name="arquivo">
  </div>

      <div class="form-group" style="display: none;">
    <label >Data Atual</label>
    <input type="text" class="form-control" id="data" name="data" value="<?php echo date('d/m/Y');?>">
  </div>

  <div class="form-group" style="display: none;">
    <label >Usuario Atual</label>
    <input type="text" class="form-control" id="usuario" name="usuario" value="<?php echo $_SESSION['usuarioNome'];?>">
  </div>
     <div class="form-group" style="display: none;">
    <label >Status</label>
    <input type="text" class="form-control" id="status" name="status" value="Ativo">
  </div>

Quero poder listar essas imagens que são adicionadas, e também queria adicionar mais de 1, Alguém pode me da uma ajuda ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.