PHP ЗАГРУЗКА ФАЙЛОВ В БД

Когда работа с веб-приложением включает загрузку файлов на сервер, возникает вопрос о том, где хранить эти файлы. Один из возможных вариантов - сохранить файлы в базу данных. В PHP это можно реализовать при помощи функций работы с БД и функций работы с файлами.

Для начала нужно создать таблицу в базе данных, которая будет использоваться для хранения файлов. В этой таблице должны быть следующие поля: id - уникальный идентификатор файла, filename - имя файла, content - содержимое файла в виде BLOB-объекта.

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}$sql = "CREATE TABLE files (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,filename VARCHAR(255) NOT NULL,content LONGBLOB NOT NULL)";
if ($conn->query($sql) === TRUE) { echo "Table files created successfully";} else { echo "Error creating table: " . $conn->error;}$conn->close();

После создания таблицы можно приступать к загрузке файлов. Для этого нужно создать HTML-форму, содержащую поле для выбора файла и кнопку отправки формы. При отправке формы необходимо обработать данные на стороне сервера.

if(isset($_POST['submit'])) { $filename = $_FILES['file']['name']; $content = file_get_contents($_FILES['file']['tmp_name']); $sql = "INSERT INTO files (filename, content) VALUES ('$filename', '$content')"; if ($conn->query($sql) === TRUE) { echo "File uploaded successfully"; } else { echo "Error: " . $sql . "
" . $conn->error; }}

Для вывода файлов на экран нужно написать SQL-запрос, который выгрузит содержимое файла из базы данных, и вывести его на экран при помощи функций PHP для работы с файлами.

$sql = "SELECT * FROM files WHERE id = $id";$result = $conn->query($sql);if ($result->num_rows == 1) { $row = $result->fetch_assoc(); header("Content-Type: application/octet-stream"); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"" . $row['filename'] . "\""); echo $row['content'];} else { echo "Error: File not found.";}

PHP Как хранить картинки в базе данных How to save images as a BLOB in MySQL

wb047 PHP загрузка файла на сервер и его скачивание

PHP Загрузка картинки и MVC [1/2]

Видеоурок 10: Загрузка файлов на сервер c помощью формы и PHP. Использование move_uploaded_file.

PHP - загрузка одного или нескольких файлов

Как запустить PHP файл в браузере. Запуск ПХП скрипта

Загрузка файла на сервер и обработка на PHP (Часть-2) - Базовый курс PHP-7

Загрузка и вывод фотографий с БД mysql урок PHP

#50 Уроки PHP - Учим язык PHP, Загрузка файлов на сервер на языке PHP

😎 PHP - Загрузка файлов на сервер и в файл на ПК

Реклама
Новое
Реклама