Бинарные файлы PHP (изображения) повреждены при хранении в базе данных, но не DOCs из вложений электронной почты
Проблема заключается в том, что когда я получаю вложения электронной почты, изображения / двоичные данные повреждаются, однако при загрузке файлов в ту же таблицу базы данных они не повреждаются.
На левой стороне находится нормальное изображение, которое работает (когда переименовано в PHP и его двоичные данные копируются). Правая сторона - это изображение после его повреждения. Я решил добавить это изображение, потому что кто-то может его увидеть и просто знать, что здесь происходит. Код PHP ниже...
Поэтому у меня есть другие файлы, включая изображения, хранящиеся в базе данных, и они работают просто отлично...
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
//INSERT INTO table (data), ($data);//etc
Однако ошибка происходит в коде PHP, который я использую для очистки электронной почты, а затем сохраняю их в базе данных вместе с прикрепленными файлами. Я знаю, что прикрепленные файлы нацелены на PHP правильно, поэтому просто КАК я их храню, и это, похоже, проблема. Столбец данных в MySQL longblob
и загрузка изображений перед их отправкой работает нормально, но когда я ПОЛУЧАЮ электронную почту, этот код, который обрабатывает размещение полученных вложений, является тем, что ломает (используя ту же таблицу базы данных).
$data = mysqli_real_escape_string($connection,base64_decode($email['attachments'][$t]['attachment']));
$data = mysqli_real_escape_string($connection,$email['attachments'][$t]['attachment']);
$data = base64_decode($email['attachments'][$t]['attachment']);
$data = mysql_real_escape_string(base64_decode($email['attachments'][$t]['attachment']));
$data = addslashes($email['attachments'][$t]['attachment']);