Ранее я использовал следующую последовательность, которая, кажется, работает хорошо и будет сохранять любые данные в БД, включая изображения, PDF-файлы, массивы данных и т. Д.:)
Хранение данных (может быть строкой, массивом, объектом и т. Д.);
Сначала включите данные в строку в кодировке base64
$strData = strtr(
base64_encode(
addslashes(
gzcompress( serialize($dataToStore) , 9)
)
) , '+/=', '-_,');
Затем сохраните эти строковые данные в БД ...
Получение данных;
Извлечение строковых данных из БД
декодировать данные обратно в то, что вы хотите (может потребоваться выполнить дополнительный шаг после этого в зависимости от входных данных, массива, изображения и т. Д.)
$returnData = unserialize(
gzuncompress(
stripslashes(
base64_decode(
strtr($strDataFromDb, '-_,', '+/=')
)
)
)
);
Это, безусловно, помогло мне сохранить то, что мне нужно было хранить в базе данных MySQL!