Search the Community
Showing results for tags 'meduimblob'.
Found 1 result
-
[Resolvido] Exibir imagem do banco de dados MySQL no HTML com PHP
micheldiniz6 posted a topic in PHP
Olá amigos boa tarde, novamente me apareceu um erro que não consigo resolver. Tenho um código para incluir e mostrar as imagens do banco mysql com php no html, mas as imagens não aparecem, uso o mesmo código em outra página com a mesma estrutura e aparece, se alguém enxergar uma luz e me ajudar agradeço, eis os códigos: código para salvar imagem no banco: <?php // Incluindo arquivo de conexão require_once('../config/conn.php'); // Funções de utilidade require_once('../funcs/util.php'); // Constantes define('TAMANHO_MAXIMO', (2 * 1024 * 1024)); // Verificando se selecionou alguma imagem if (!isset($_FILES['foto'])) { echo retorno('Selecione uma imagem'); exit; } if (!isset($_POST['descricao'])) { echo retorno('Preencha o campo descrição!'); exit; } if (!isset($_POST['link'])) { echo retorno('Escreva o link da página!'); exit; } // Recupera os dados dos campos $foto = $_FILES['foto']; $descricao = $_POST['descricao']; $nome = $foto['name']; $tipo = $foto['type']; $tamanho = $foto['size']; $link = $_POST['link']; // Validações básicas // Formato if(!preg_match('/^image\/(pjpeg|jpeg|png|gif|bmp)$/', $tipo)) { echo retorno('Isso não é uma imagem válida'); exit; } // Tamanho if ($tamanho > TAMANHO_MAXIMO) { echo retorno('A imagem deve possuir no máximo 2 MB'); exit; } // Transformando foto em dados (binário) $conteudo = file_get_contents($foto['tmp_name']); // Preparando comando $stmt = $pdo->prepare('INSERT INTO picolesnaturais (nome, conteudo, descricao, tipo, tamanho, link) VALUES (:nome, :conteudo, :descricao, :tipo, :tamanho, :link)'); // Definindo parâmetros $stmt->bindParam(':nome', $nome, PDO::PARAM_STR); $stmt->bindParam(':conteudo', $conteudo, PDO::PARAM_LOB); $stmt->bindParam(':descricao', $descricao, PDO::PARAM_STR); $stmt->bindParam(':tipo', $tipo, PDO::PARAM_STR); $stmt->bindParam(':tamanho', $tamanho, PDO::PARAM_INT); $stmt->bindParam(':link', $link, PDO::PARAM_STR); // Executando e exibindo resultado echo ($stmt->execute()) ? retorno('Produto cadastrado com sucesso', true) : retorno($stmt->errorInfo()); Código do formulário para salvar foto: <form id="formulario" action="ajax/salvarpicolesnatural.php" method="post"> <div id="mensagem"></div> <div class="form-group"> <label>Carregar foto</label><br /> <span class="btn btn-default btn-file"> <input type="file" name="foto" value="Escolher foto"/> </span> <br /> <label>Descrição do produto</label><br /> <span class="btn "> <input type="text" name="descricao" placeholder="Descrição do Produto" style="width:350px;" required /> </span> <br /> <label>Link da página do produto</label><br /> <span class="btn "> <input type="text" name="link" placeholder="link da página" style="width:350px;" required /> </span> </div> <input id="salvar" class="btn btn-primary" type="submit" value="Salvar" data-loading-text="Salvando..."/> </form> Códigos para exibir as imagens: <?php // Incluindo arquivo de conexão require_once('config/conn.php'); // Selecionando fotos $stmt = $pdo->query('SELECT id, nome, tipo, descricao, tamanho, link FROM picolesnaturais'); ?> <?php while ($foto = $stmt->fetchObject()): ?> <form action="php/excluirpicolesnaturais.php" method="POST" name="excluir" class="alert-success" id="excluir"> <input type="hidden" name="delete_img_produto" value="<?php echo $foto->id ?>"> <div class="col-sm-6 col-md-4"> <div class="thumbnail" style="float:left"> <a href="<?php echo $foto->link ?>"><img src="imagem.php?id=<?php echo $foto->id ?>" style="max-width:260px" /></a> <div class="caption"> <strong>Descrição:</strong> <?php echo $foto->descricao ?> <br/> <strong>Link da página:</strong> <?php echo $foto->link ?> <br/> <input type="submit" class="btn btn-primary" id="excluirFoto" value="Excluir" data-loading-text="Salvando..." style="color:#FFF; background-color:#F00;" /> </div> </div> </div> </form> <?php endwhile ?> e esse é o resultado que aparece...