Intereting Posts
заполнение выпадающего окна, основанное на выборе другого раскрывающегося списка с использованием php, mqsql и ajax используя требуемые статусы с операторами if / elseif Случай переключения PHP Cloud 9 IDE не может подключиться к базе данных Почему строки работают как массив в PHP 5.3? Laravel 4: развертывание пользовательской команды artisan в пакете Мой скрипт PayPal неожиданно прекратил проверку SSL-сертификата Выполнить функцию внутри массива Использование проверки подлинности Windows с помощью php? показывая самое длинное расстояние для каждого велосипеда и зеленый значок, если более 100 Преобразование большого целого в полную строку в PHP Перенаправление на главную страницу после ошибки 404 в PHP Получение значения комбинированного блока с использованием метода post Самый быстрый способ преобразования строки в целое число в PHP Java эквивалентен PHP preg_replace_callback

Преобразование файлов в blob для сохранения в базе данных

У меня есть старый пользовательский сайт, который мы сейчас обновляем. Пользователи сайта ранее загружали фотографии профиля, которые хранятся в каталоге. Теперь я хочу сохранить эти изображения профиля в базе данных (просто для резервного копирования всех данных), но у меня возникли проблемы с разработкой, как это сделать.

Есть много учебников, рассказывающих об этом из файлов, которые только что были загружены, и с использованием имени tmp и т. Д., Но как я могу воссоздать файлы, которые уже были загружены?

Я просмотрел $data = file_get_contents($filename); Кажется, что создается двоичный файл, но, похоже, он не сохраняет в базе данных:

 mysql_query("UPDATE profiles SET company_logo = mysql_real_escape_string('".$data."') WHERE id = 1 ") or die(mysql_error()); 

* ОБНОВЛЕНИЕ * Итак, посмотрев на это еще немного, я думаю, что поеду с большинством и сохраню изображения, поскольку они уже … в папках ..

Как правило, плохая идея хранить изображения в базе данных.

Лучше хранить изображения в файле и сохранять ссылку в поле или таблице.

Однако, если вы хотите сохранить их, вы должны сохранить их как BLOB (Binairy Large OBject). В поле BLOB перевод символа не выполняется. Когда вы храните их, вы должны хранить их точно так же, как содержимое файла. Поэтому удалите mysql_real_escape string , так как это испортит ваши двоичные данные.