Mysql
 sql >> Database >  >> RDS >> Mysql

problema di visualizzazione dell'immagine del database php

Se hai salvato il contenuto dell'immagine nel database puoi usare un data: uri mostra questo contenuto in un <img /> etichetta. Ciò ti consente di incorporare contenuti di diverso tipo MIME in un altro contenuto, vedi schema URI dati .

Ma non dovresti davvero salvare alcun file (indipendentemente dall'immagine o meno) nel database. I file appartengono al filesystem, come suggerisce già il nome. Ottieni un enorme sovraccarico nel salvataggio dei file nel database. Specialmente per le immagini è necessario (forse) uno script php che carichi l'immagine, ad es. se usi qualcosa come <img src="showimage.php?id=5" alt="..." /> . Per ogni immagine devi chiamare uno script php aggiuntivo e non guadagni nulla. Tutti ti dirà che è meglio salvare i file nel filesystem e caricarlo tramite il filesystem normalmente. Quindi usi tag come <img src="images/foobar/xyz.png" alt="..." /> invece. Anche il "Non voglio 'link interrotti' alle immagini nel mio database" argomento non conta poiché usi semplicemente l'ID all'interno del percorso e usi file_exists() per verificare se è presente un link immagine è valido o meno.

$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" />';
}