J'ai une chaîne encodée créée à partir de la fonction Javascript .toDataUrl(). Chaque fois que j'essaye de convertir ceci en binaire avec PHP base64_decode(), il tronque le binaire. J'ai déjà essayé divers éléments tels que les suivants:PHP base64_decode() .toDataURL()
//First Attempt
$encoded = str_replace('data:image/png;base64,', '', $sig);
$decodedstring = base64_decode(str_replace(array(' ', '_'), array('+', '/'), $encoded));
$decodedstring = base64_decode(chunk_split($encoded));
//2nd attempt
$encoded = str_replace([' ','data:image/png;base64,'], ['+',''], $sig);
$decodedstring = "";
for ($i=0; $i < ceil(strlen($encoded)/256); $i++)
$decodedstring = $decodedstring . base64_decode(substr($encoded,$i*256,256));
//Other attempt
$decodedstring = base64_decode(str_replace(['data:image/png;base64,', ' '], ['','+'], $sig));
Aucun de ces fichiers ne produit le bon fichier. Aussi à noter, que lorsque j'utilise les décodeurs en ligne standard png base64, l'image semble 100% correcte, donc le problème semble se produire dans la conversion.
Quelqu'un aurait-il d'autres idées? J'ai passé quelques jours à essayer de faire des recherches sans succès.
Sans données d'exemple, nous ne pouvons pas reproduire le problème. – Sammitch
@Sammitch Malheureusement, cette donnée particulière est quelque chose que je ne peux pas poster car c'est une signature. De plus, nous n'avons pas été en mesure de le reproduire nous-mêmes avec une signature aléatoire. –