У меня есть старый пользовательский сайт, который мы сейчас обновляем. Пользователи сайта ранее загружали фотографии профиля, которые хранятся в каталоге. Теперь я хочу сохранить эти изображения профиля в базе данных (просто для резервного копирования всех данных), но у меня возникли проблемы с разработкой, как это сделать.
Есть много учебников, рассказывающих об этом из файлов, которые только что были загружены, и с использованием имени 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
, так как это испортит ваши двоичные данные.