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

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

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: 16:29

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
  • +2 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 16:29

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.


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

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


Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 20:09

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:
  • +1 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

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


Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 20:09

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.


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

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


Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 20:09

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