Как проверить достоверность изображения base64 в php?

#php #base64 #tobase64string

Вопрос:

У кого-нибудь есть идеи, как узнать достоверность изображения base64?

Это мой код для более подробного объяснения:

 $pic = `data:image/jpeg;base64,/9j/4AAQSkZJ....` if($pic is base64 image){  echo "$pic is base64 image"; } else {  echo "Not base64 image"; }  

Заранее спасибо, ребята.

Комментарии:

1. Как png, так и jpeg

2. Сначала декодируйте базу 64, затем загрузите библиотеку изображений, которая понимает png и jpeg.

3. И каков фактический код для этого решения?

Ответ №1:

Для этого нет точной функции, но вы можете это сделать.

 if ( base64_encode(base64_decode($pic, true)) === $pic){  echo "$pic is base64 image"; } else {  echo "Not base64 image"; }  

Комментарии:

1. Я пробовал этот код раньше, но вывода вообще нет!

2. Какие-либо ошибки или предупреждения?

3. Теперь есть, и выход приходит с: Not base64 image

4. Я только что отредактировал код if (base64_encode(base64_decode($pic, true)) !== false) , но он проверял только изображения, если это base64, когда я пытаюсь протестировать, например x.zip , он поставляется без выходных данных

5. Это странно. TBH Я никогда не пытался кодировать zip-файл с помощью Base64.