Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

problema de exibição de imagem do banco de dados php


Se você salvou o conteúdo da imagem no banco de dados, você pode usar um data: uri mostra este conteúdo em um <img /> marcação. Isso permite que você incorpore conteúdo de tipo mime diferente em outro conteúdo, consulte esquema de URI de dados .

Mas você realmente não deve salvar nenhum arquivo (independentemente da imagem ou não) no banco de dados. Os arquivos pertencem ao sistema de arquivos, como o nome já sugere. Você obtém uma enorme sobrecarga ao salvar arquivos no banco de dados. Especialmente para imagens você precisa (talvez) de um script php que carregue a imagem, por exemplo. se você usar algo como <img src="showimage.php?id=5" alt="..." /> . Para cada imagem, você precisa chamar um script php adicional e não ganha nada. Todos dir-lhe-á que é melhor guardar os ficheiros no sistema de ficheiros e carregá-los normalmente através do sistema de ficheiros. Então você usa tags como <img src="images/foobar/xyz.png" alt="..." /> em vez de. Mesmo o "Não quero 'links quebrados' para imagens no meu banco de dados" argumento não conta, pois você simplesmente usa o ID dentro do caminho e usa file_exists() para verificar se um link de imagem é válido ou não.
$path = 'images/useravatars/'.$row['ID'].'.png'; // as an example
if (file_exist($path)) {
     echo '<img src="'.$path.'" alt="username" />';
} else {
     echo '<img src="images/noimage.png" alt="No Image found" />';
}