Toon posts:

[PHP] Image wegschrijven met base64_de lukt niet, tonen wel

Pagina: 1
Acties:

Vraag


  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 18-08 20:09

Dorgaldir

Creature of the web

Topicstarter
Hey,

ik kan uit een Salesforce database bestanden ophalen, maar het lukt me niet deze op te slagen, hoewel ik deze wel kan tonen...

De image zit als string in $response.

PHP:
1
2
$check = file_put_contents($filename, base64_decode($response), LOCK_EX);
echo '<img src="data:image/jpeg;base64,'.base64_encode($response) .'" />';


op lijn 1 tracht ik de file weg te schrijven, hij maakt hier wel een file voor aan op de server, deze file is niet leeg, maar kan niet geopend worden als image...
Als ik een echo doe van $check, krijg ik een numerieke waarde terug (grote van het bestand), dus daar lijkt alles nog prima.

echter, als ik de image toon in een img tag, dan werkt dit gewoon en wordt afbeelding mooi getoond.

Dit heeft in het verleden wel gewerkt, we konden in het verleden wel files wegschrijven, maar door updates is de werkwijze licht gewijzigd en sindsdien kan ik geen files meer opslagen.

Eerst dacht ik dat de data corrupt was, maar aangezien ik met dezelfde base64_decode de data wel kan tonen in een image tag, begrijp ik niet goed waarom het opslaan van die file niet meer lukt...

Just me

Beste antwoord (via Dorgaldir op 15-03-2022 11:11)


  • Johnny
  • Registratie: December 2001
  • Laatst online: 29-11 16:09

Johnny

ondergewaardeerde internetguru

Is $response al base64 of niet? Op regel 1 decode je het (dus het is al base64), en op regel 2 encode je het (dus het is geen base64).

Omdat regel 2 wel werkt zou ik proberen base64_decode weg te halen.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.

Alle reacties


Acties:
  • Beste antwoord
  • +2Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 29-11 16:09

Johnny

ondergewaardeerde internetguru

Is $response al base64 of niet? Op regel 1 decode je het (dus het is al base64), en op regel 2 encode je het (dus het is geen base64).

Omdat regel 2 wel werkt zou ik proberen base64_decode weg te halen.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 18-08 20:09

Dorgaldir

Creature of the web

Topicstarter
Johnny schreef op dinsdag 15 maart 2022 @ 11:07:
Is $response al base64 of niet? Op regel 1 decode je het (dus het is al base64), en op regel 2 encode je het (dus het is geen base64).

Omdat regel 2 wel werkt zou ik proberen base64_decode weg te halen.
ugh, zo typisch dat ik al zo lang me blind staar op iets dat ik letterlijk blind wordt...

Just me


  • DukeBox
  • Registratie: April 2000
  • Laatst online: 29-11 22:30

DukeBox

Voor je 't weet wist je 't nie

Dorgaldir schreef op dinsdag 15 maart 2022 @ 11:04:
Als ik een echo doe van $check, krijg ik een numerieke waarde terug (grote van het bestand), dus daar lijkt alles nog prima.
Dat klopt overigens ook niet, je zou alleen true/false terug moeten krijgen.

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • +1Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 18-08 20:09

Dorgaldir

Creature of the web

Topicstarter
DukeBox schreef op dinsdag 15 maart 2022 @ 11:12:
[...]

Dat klopt overigens ook niet, je zou alleen true/false terug moeten krijgen.
dat klopt niet :p

https://www.php.net/manual/en/function.file-put-contents.php

This function returns the number of bytes that were written to the file, or false on failure.

Just me


  • DukeBox
  • Registratie: April 2000
  • Laatst online: 29-11 22:30

DukeBox

Voor je 't weet wist je 't nie

Ah, dat ik daar nog nooit eerder tegenaan ben gelopen. Het is blijkbaar ook altijd zo geweest 8)7

Duct tape can't fix stupid, but it can muffle the sound.


  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 18-08 20:09

Dorgaldir

Creature of the web

Topicstarter
DukeBox schreef op dinsdag 15 maart 2022 @ 11:26:
[...]

Ah, dat ik daar nog nooit eerder tegenaan ben gelopen. Het is blijkbaar ook altijd zo geweest 8)7
Zolang je "== true" doet en niet "=== true" denk ik ook niet dat je direct een issue krijgt ;)

Just me


  • DukeBox
  • Registratie: April 2000
  • Laatst online: 29-11 22:30

DukeBox

Voor je 't weet wist je 't nie

Dorgaldir schreef op dinsdag 15 maart 2022 @ 12:13:
Zolang je "== true" doet en niet "=== true" denk ik ook niet dat je direct een issue krijgt ;)
Uit gewoonte check ik eigenlijk altijd op false, en nooit op ==(=) true.

Duct tape can't fix stupid, but it can muffle the sound.

Pagina: 1



Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 Nintendo Switch Lite

Tweakers is samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer onderdeel van DPG Media B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee