Я знаю, что могу просто загрузить файл в папку на моем сервере, сохранить местоположение каталога в базе данных MYSQL и создать ссылку для загрузки на основе этого местоположения каталога, но что происходит, когда вы сохраняете файл, такой как pdf или zip-архив, непосредственно на база данных MYSQL? Как вы извлекаете эти данные и затем создаете ссылку для скачивания файла?
Вопрос
Как создать ссылку для загрузки файла в файл, хранящийся в базе данных MYSQL, с помощью PHP?
Ответы
Ответ 1 · рейтинг 2 · M. Meiboom
Вам нужно будет установить некоторые заголовки контента перед выводом данных из вашей базы данных, например:
header("Content-type: $type");
header("Content-length: $size");
header("Content-Disposition: attachment; filename=$name");
header("Content-Description: PHP Generated Data");
echo $data;
Полный пример на http://onlamp.com/pub/a/php/2000/09/15/php_mysql.html?page=3
Ответ 2 · рейтинг 3 · fire
Вы не должны хранить файловые данные в своей базе данных, для этого и существует файловая система!
Однако, чтобы ответить на ваш вопрос, вы должны сохранить содержимое файла в поле BLOB, содержащем двоичные данные, а затем загрузить правильные заголовки и повторить значение поля.
Ответ 3 · рейтинг 2 · SERPRO
Вы можете создать php-файл, например "download.php", в который помещаются заголовки этого типа файла (и размера) и эхо-содержимое сохраненного файла.
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- В python с использованием Flask, как я могу записать объект для загрузки?
- Загрузка всех зависимостей maven в каталог НЕ в репозитории?
- ASP.NET: могу ли я принудительно загрузить сохраненный файл и обновить метку в том же обработчике событий?
- Как вызвать метод признаков из метода класса, который использует этот признак, если имена обоих методов
- API Google PHP: неверный ответ от сервера API
- Laravel blade не показывает контент