sql >> Database >  >> RDS >> Mysql

php database afbeelding toon probleem

Als u de inhoud van de afbeelding in de database heeft opgeslagen, kunt u een data: . gebruiken uri laat deze inhoud zien in een <img /> label. Hiermee kunt u inhoud van een ander mime-type insluiten in een andere inhoud, zie data URI-schema .

Maar je zou eigenlijk geen bestanden (ongeacht de afbeelding of niet) in de database moeten opslaan. Files hoort bij het bestandssysteem, zoals de naam al doet vermoeden. U krijgt een enorme overhead bij het opslaan van bestanden in de database. Speciaal voor afbeeldingen heb je (misschien) een php-script nodig dat de afbeelding laadt, bijv. als je iets als <img src="showimage.php?id=5" alt="..." /> gebruikt . Voor elke afbeelding moet je een extra php-script aanroepen, en je wint niets. Iedereen zal je vertellen dat het beter is om de bestanden in het bestandssysteem op te slaan en deze zoals normaal via het bestandssysteem te laden. Je gebruikt dus tags zoals <img src="images/foobar/xyz.png" alt="..." /> in plaats van. Zelfs de "Ik wil geen 'gebroken links' naar afbeeldingen in mijn database" argument telt niet omdat je gewoon de ID in het pad gebruikt en file_exists() gebruikt om te controleren of een afbeeldingslink is geldig of niet.

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


  1. SQL Server:voeg onjuiste versie 661 toe

  2. Vraag en aanbod afstemmen - Oplossingen, deel 1

  3. Toegang krijgen tot een RowDataPacket-object

  4. AWS rds - Hoe te lezen van een leesreplica in een Java-toepassing?