Pokud máte uložený obsah obrázku v databázi, můžete použít data:
uri tento obsah zobrazuje v <img />
štítek. To vám umožní vložit obsah jiného typu mime do jiného obsahu, viz schéma URI dat
.
Ale neměli byste do databáze ukládat žádné soubory (bez ohledu na obrázek nebo ne). Soubory patří do souborového systému, jak již název napovídá. Získáte obrovskou režii při ukládání souborů do databáze. Speciálně pro obrázky potřebujete (možná) php skript, který obrázek načte, např. pokud použijete něco jako <img src="showimage.php?id=5" alt="..." />
. Pro každý obrázek musíte zavolat další php skript a nezískáte nic. Všichni
vám řekne, že je lepší uložit soubory do souborového systému a načíst je přes souborový systém jako obvykle. Takže používáte značky jako <img src="images/foobar/xyz.png" alt="..." />
namísto. Dokonce ani „Nechci ve své databázi žádné ‚nefunkční odkazy‘ na obrázky“ argument se nepočítá, protože jednoduše použijete ID uvnitř cesty a použijete file_exists()
zkontrolovat, zda odkaz na obrázek je platný nebo ne.
$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" />';
}