Цель кодирования Base64 состоит в том, чтобы заставить двоичные данные выживать при передаче через транспортные уровни, которые не являются 8-битными, поэтому да, вы на правильном пути с этим.
То, что вам действительно нужнобеспокоит то, что функция fputcsv ().Какие опасные элементы вы должны проверить?
- Вкладки, потому что это ваш разделитель
- Символы новой строки, потому что кажется, что вы также анализируете по строке
Согласно этой ссылке , кодировка Base 64 охватывает только AZ, az, 0-9, + и /, что означает, что вы в безопасности, и новая строка в отправленном вами изображении, вероятно,артефакт из переноса слов в IDE, который вы используете.Теперь все, что вам нужно запомнить, это то, что когда вы хотите импортировать эти данные обратно в БД, не ожидайте просто использовать mysqldump или mysql <для передачи по конвейеру. Вам нужно будет создать другую функцию php, которая используетbase64_decode для возврата данных в исходное состояние. </p>
Вы также должны знать, что в настоящее время вы кодируете все поля, а не только данные BLOB-объектов.Кодировка Base64 занимает примерно на 33% больше места в качестве FYI, поэтому вы можете определить свои таблицы с некоторым битом, указывающим, является ли поле блудом, и вы хотите включить кодирование B64 для него.