In een database heb ik een afbeelding opgeslagen(BLOB). Deze heb ik met het volgende stukje PHP-code erin gezet:
In de database zit nu een jpg-tje opgeslagen. Maar hoe laat ik deze nu verschijnen op de een website? Daar heb ik gisteren de hele avond mee zitten prutsen, maar alles wat ik tegenkom werkt niet. Volgens meerdere bronnen moet de php-code daarvoor zijn:
Dit geeft als resultaat de foto, maar hij print de foto_omschrijving niet meer, hij houdt dus op met het verder verwerken van de pagina.
En als ik deze code midden op een grotere pagina zet, op een profielpagina met naam, adres enzo, dan krijg ik de error 'Cannot modify header information - headers already sent'.
Conclusie: hij laat alleen de afbeelding zien en stopt met het verder verwerken van de site, behalve als er al een stuk site is geweest, dan geeft hij een error. Maar hoe moet ik dan omgaan met een afbeelding uit een database?
PHP:
1
2
3
4
| $afb = $_FILES['afbeelding'][tmp_name]; $handle = fopen($afb, "r"); $filedata = base64_encode(fread($handle, filesize($afb))); $query = "insert into foto(Fotonaam, Foto, Foto_omschrijving) values('$fotonaam', '$filedata', '$afbo');"; |
In de database zit nu een jpg-tje opgeslagen. Maar hoe laat ik deze nu verschijnen op de een website? Daar heb ik gisteren de hele avond mee zitten prutsen, maar alles wat ik tegenkom werkt niet. Volgens meerdere bronnen moet de php-code daarvoor zijn:
PHP:
1
2
3
4
5
6
7
| $query = "select Fotonaam, Foto, Foto_omschrijving from foto where Fotonr = $fotonr;"; $result_idfoto = mysql_query($query, $db); $resultsfoto = mysql_fetch_array($result_idfoto); header( "Content-type: image/jpg"); print base64_decode($resultsfoto[Foto]); print $resultsfoto[Foto_omschrijving]; |
Dit geeft als resultaat de foto, maar hij print de foto_omschrijving niet meer, hij houdt dus op met het verder verwerken van de pagina.
En als ik deze code midden op een grotere pagina zet, op een profielpagina met naam, adres enzo, dan krijg ik de error 'Cannot modify header information - headers already sent'.
Conclusie: hij laat alleen de afbeelding zien en stopt met het verder verwerken van de site, behalve als er al een stuk site is geweest, dan geeft hij een error. Maar hoe moet ik dan omgaan met een afbeelding uit een database?
Iedereen kan gelijk hebben, allemaal tegelijk. Dat heb je met quantum.