#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.