sql >> Database >  >> RDS >> Mysql

BLOB-afbeeldingsgegevens uit MySQL halen in PHP

U kunt afbeeldingen in uw database opslaan als u dat wilt (hoewel er niets mis is om ze ook gewoon als bestanden op te slaan, kies wat geschikt is in uw situatie), maar sla de onbewerkte binaire gegevens op in een BLOB (d.w.z. codeer het niet met basis64). U kunt de binaire gegevens die u van file_get_contents krijgt, insluiten rechtstreeks in uw query, op voorwaarde dat u de juiste escape-functie gebruikt (mysql_real_escape_string in jouw geval) eerst.

Wat betreft het uitvoeren van de afbeelding, je kunt het doen zoals je het nu doet, maar je moet het base64-encoded uitvoeren en met een data URI-schema als volgt:

echo '<img alt="embedded image" src="data:image/png;base64,' . chunk_split(base64_encode($get_pics2['img_location'])) . '">';

Merk op dat er enkele voor- en nadelen zijn van ingesloten afbeeldingsgegevens. Enkele belangrijke nadelen om rekening mee te houden zijn de hoge overhead van base64-codering (ongeveer 33% groter dan het origineel) en mogelijke cachingproblemen.



  1. De eigenschap IDENTITY() gebruiken in SQL Server

  2. Kan geen gegevens naar het transport schrijven. Vs2017 ASP.net kernsteiger (MSSQL VENSTER 10)

  3. Hoe krijg ik een realtime binnen PostgreSQL-transactie?

  4. Oracle:laat meerdere partities vallen