Всем привет, столкнулся с такой проблемой. Я написал сайт на vps сервере и мне надо передавать в БД аудиофайл. Если я передаю с помощью php, записываются все данные, кроме самого файла.
Я пробовал передавать через python и не столкнулся с такой проблемой, всё корректно передалось.
У меня на стороне сервера в папке audio лежат файлы, которые надо передать в БД.
Файл конфигурации БД (mySQL), Apache и php.ini я настроил на файлы размером до 100Мбайт. И время ожидания выставил большое. Но всё равно не хочет передаваться файл.
Мой код php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// Создаем соединение $conn = new mysqli($host, $user, $password, $dbname); // Проверяем соединение if ($conn->connect_error) { die("Ошибка подключения: " . $conn->connect_error); } // Получаем user_id из cookie $user_id = $_COOKIE['user_id'] ?? null; $path_ = "c:"; $file_status = 1; if (!is_null($user_id) && !empty($files)) { $stmt = $conn->prepare("INSERT INTO tb_files (user_id, name_, path_, file_status, on_file) VALUES (?, ?, ?, ?, ?)"); foreach ($files as $file_name) { $file_path = $directory . $file_name; $file_content = file_get_contents($file_path); $null = NULL; // Для использования в качестве ссылки на переменную с бинарными данными $stmt->bind_param("sssis", $user_id, $file_name, $path_, $file_status, $null); $stmt->send_long_data(4, $file_content); // Отправляем содержимое файла $stmt->execute(); } echo "Записи успешно добавлены."; } else { echo "Нет данных для добавления."; } $stmt->close(); $conn->close(); |