Я пытаюсь создать страницу загрузки для моего сайта. Я использую URL, как это: http://example.com/download?file=21
, Фактическое местоположение файла на сервере сохраняется в базе данных вместе с идентификатором файла. Я хотел бы, чтобы на странице загрузки отображалось имя файла, который загружается вместе с некоторым другим HTML. У меня проблемы с выяснением, как загрузить файл и отобразить вывод на одной странице PHP.
Весь совет, который я видел для загрузки файла с помощью PHP, требует изменения заголовков. Нужно ли отображать страницу загрузки, а затем загружать файл с чем-то вроде AJAX?
Я бы сделал это без AJAX.
Я хотел бы создать скрипт, чтобы показать файл с другой информацией HTML http://example.com/file?id=21
и если установлен параметр загрузки ( http://example.com/file?id=21&download=1
) этот скрипт печатает только заголовки и отправляет файл.
Затем в http://example.com/file?id=21
Я хотел бы создать пустой iframe (в коде или динамически с javascript), а затем, когда пользователь хочет скачать файл, вам просто нужно установить URL этого iframe в http://example.com/file?id=21&download=1
и файл начнет загружаться. Нет необходимости в ajax или перезагрузке веб-сайта, только javascript для установки URL-адреса iframe в тот момент, когда пользователь хочет загрузить файл.
Это не единственный способ, но я думаю, что он хороший.
Других решений пока нет …