-1
I can’t display the photos I’m sending to the database. I’m making a e-commerce photo and managed to send them to the database (Mysql). I created my database, then my table. I made the connection and all table items are receiving their data, only the photo is not displayed when I call. On the page home, I can call all the data, but the photo does not appear, only your name.
Register:
<?php
include_once("conexao.php");
$arquivo = $_FILES['arquivo']['name'];
//Pasta onde o arquivo vai ser salvo
$_UP['pasta'] = 'foto/';
//Tamanho máximo do arquivo em Bytes
$_UP['tamanho'] = 1024*1024*100; //5mb
//Array com a extensões permitidas
$_UP['extensoes'] = array('png', 'jpg', 'jpeg', 'gif');
//Renomeiar
$_UP['renomeia'] = false;
//Array com os tipos de erros de upload do PHP
$_UP['erros'][0] = 'Não houve erro';
$_UP['erros'][1] = 'O arquivo no upload é maior que o limite do PHP';
$_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especificado no HTML';
$_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
$_UP['erros'][4] = 'Não foi feito o upload do arquivo';
//Verifica se houve algum erro com o upload. Sem sim, exibe a mensagem do erro
if($_FILES['arquivo']['error'] != 0){
die("Não foi possivel fazer o upload, erro: <br />". $_UP['erros'][$_FILES['arquivo']['error']]);
exit; //Para a execução do script
}
//Faz a verificação do tamanho do arquivo
else if ($_UP['tamanho'] < $_FILES['arquivo']['size']){
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://localhost/Gui/upload_imagem.php'>
<script type=\"text/javascript\">
alert(\"Arquivo muito grande.\");
</script>
";
}
//O arquivo passou em todas as verificações, hora de tentar move-lo para a pasta foto
else{
//Primeiro verifica se deve trocar o nome do arquivo
if($UP['renomeia'] == true){
//Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg
$nome_final = time().'.jpg';
}else{
//mantem o nome original do arquivo
$nome_final = $_FILES['arquivo']['name'];
}
//Verificar se é possivel mover o arquivo para a pasta escolhida
if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta']. $nome_final)){
//Upload efetuado com sucesso, exibe a mensagem
$query = mysqli_query($conn, "INSERT INTO produtos (
nome_imagem) VALUES('$nome_final')");
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://localhost/Gui/fotos'>
<script type=\"text/javascript\">
alert(\"Imagem cadastrada com Sucesso.\");
</script>
";
}else{
//Upload não efetuado com sucesso, exibe a mensagem
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://localhost/Gui/fotos'>
<script type=\"text/javascript\">
alert(\"Imagem não foi cadastrada com Sucesso.\");
</script>
";
}
}
?>
Where the images should appear:
<?php
if(isset($_POST['pesquisar'])){
//reutiliza o codigo
include_once ('conexao.php');
$nome = $_POST['nome_imagem'];
$sql ="SELECT * FROM produtos where nome_imagem like '%$nome%'";
echo '<table class="table table-bordered">';
echo '<thead>';
echo '<tr>';
echo '<th>Produtos</th>';
echo '</tr>';
echo '</thead>';
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0)
while($row = mysqli_fetch_assoc($result))
{
echo '<tr>';
echo '<td>'.$row['nome_imagem'].'</td>' . '<td>'. '<button type="button" class="btn btn-primary">Inserir</button>' . '</td>' . '<td>'. '<button type="button" class="btn btn-danger">editar</button>'.'</td>'. '<td>' . '<button type="button" class="btn btn-success">excluir</button>' . '</td>' ;
echo '</tr>';
}
echo '</table>';
}
?>
Please edit your code. Is your image in a database blob? If so, you need to create an Handler to send the photo to the customer. It is also possible to do this with Base64, but this method consumes more bandwidth and processing.
– user178974
By the code that she posted, no, she saved the file name in the table, and retrieves that name inside the webserver filesystem at the time of exacuting, if that directory is within the scope of fileserver just include the IMG TAG
– Romeu Gomes - Brasap