Хранение пользовательских файлов в базе данных MySQL

Иногда полезно собирать данные от пользователей вашего сайта и хранить эту информацию в MySQL база данных. Мы уже видели, что вы можете заполнить базу данных, используя PHPТеперь мы добавим практичность добавления данных через удобную веб-форму.

Затем вам нужно создать process.php, страницу, на которую наша форма отправляет свои данные. Вот пример того, как собрать эти данные для публикации в базе данных MySQL:

Конечно, прежде чем мы попробуем это, мы должны убедиться, что таблица действительно существует. Выполнение этого кода должно создать таблицу, которую можно использовать с нашими примерами файлов:

Теперь вы знаете, как хранить пользовательские данные в MySQL, поэтому давайте сделаем еще один шаг вперед и узнаем, как загрузить файл для хранения. Во-первых, давайте создадим нашу примерную базу данных:

Первое, что вы должны заметить, это поле под названием Я бы это установлено в АВТОМАТИЧЕСКОЕ ПРИРАЩЕНИЕ. Что это тип данных Это означает, что он будет считать каждый файл уникальным идентификатором, начиная с 1 и заканчивая 9999 (так как мы указали 4 цифры). Вы также, вероятно, заметите, что наше поле данных называется

instagram viewer
LONGBLOB. Существует много типов BLOB, как мы уже упоминали ранее. TINYBLOB, BLOB, MEDIUMBLOB и LONGBLOB - это ваши варианты, но мы установили для LONGBLOB максимально допустимые файлы.

Далее мы создадим форму, позволяющую пользователю загружать ее файл. Это просто простая форма, очевидно, вы можете одеть ее, если хотите:

Далее нам нужно создать файл upload.php, который возьмет файл нашего пользователя и сохранит его в нашей базе данных. Ниже приведен пример кода для upload.php.

Далее он использует ADDSLASHES функция. Что это делает, так это добавляет обратную косую черту в имя файла, чтобы мы не получили ошибку при запросе базы данных. Например, если у нас есть Billy'sFile.gif, он преобразует это в Billy'sFile.gif. FOPEN открывает файл и Fread это бинарный безопасный файл для чтения, чтобы ADDSLASHES применяется к данным в файле, если это необходимо.

Далее, мы добавляем всю информацию, собранную нашей формой, в нашу базу данных. Вы заметите, что мы перечислили поля сначала, а значения - вторые, поэтому мы не пытаемся случайно вставить данные в наше первое поле (поле автоматического назначения идентификатора)

Мы уже узнали, как получить простые данные из нашей базы данных MySQL. Аналогично, хранение ваших файлов в базе данных MySQL было бы не очень практичным, если бы не было способа восстановить их. Мы научимся это делать, назначая каждому файлу URL-адрес на основе их идентификационного номера. Если вы помните, когда мы загружали файлы, мы автоматически присваивали каждому из них идентификационный номер. Мы будем использовать это здесь, когда мы перезвоним файлы. Сохраните этот код как download.php

Теперь, чтобы получить наш файл, мы указываем нашему браузеру: http://www.yoursite.com/download.php? id = 2 (замените 2 на любой идентификатор файла, который вы хотите загрузить / отобразить)

Этот код является основой для многих вещей. Основываясь на этом, вы можете добавить запрос к базе данных, в котором перечислены файлы, и поместить их в раскрывающееся меню, чтобы люди могли выбирать. Или вы можете установить идентификатор в качестве случайно созданного числа, чтобы каждый раз при посещении человека случайным образом отображалось изображение из вашей базы данных. Возможности безграничны.

Как и в предыдущем коде, который загружал файлы, этот скрипт позволяет удалять файлы, просто введя их URL: http://yoursite.com/remove.php? id = 2 (замените 2 идентификатором, который вы хотите удалить.) По понятным причинам вы хотите будьте осторожны с этим кодом. Это, конечно, для демонстрации, когда мы на самом деле создаем приложения, мы хотим поставить спросите пользователя, уверены ли они, что хотят удалить, или, возможно, разрешают удалять файлы только людям с паролем. Этот простой код - основа, на которой мы будем строить все эти вещи.

instagram story viewer