Не скачивается файл php

Обновлено: 06.07.2024

Редактирование файла перед скачиванием
Здравствуйте, на сайте приходится в разные темы заливать почти однотипные файлы. Я подумал, а ведь.

Непонятки со скачиванием файла
Всем привет, столкнулся с проблемой вроде бы на ровном месте. Есть проект, есть страница со списком.

Проблема со скачиванием больших файлов
В последние 2-3 месяца у меня то ли с сетью, то ли с компьютером такая проблема: Когда я скачиваю.

Для скачивания файла AJAX не нужен.

Почему бы не сделать обычной ссылкой? И как выше заметил estic, убрать заголовок Location

estic, зачем добавил аякс - не знаю, вдруг понадобился бы. Насчет header ('Location:") - это уже попытки безумца в поиске решения =(

Добавлено через 1 минуту
Jewbacabra, на заголовок никакой реакции все равно нет, а вот про обычную ссылку даже как-то не подумал, попробую

Решение

если я понял правильно, ТС имеет в виду такую схему:
с текущей страницы отправляются данные на сервер для формирования по ним excel файла. в случае успешного создания файла сервер должен вернуть название созданного файла и js создает на текущей странице ссылку на созданный файл. никакого перехода на другие страницы не требуется, равно как и перезагрузки страницы.
с таким подходом указанные скрипты можно настроить, только чуть изменить
-удалить header ('Location : index.php'); (кстати заголовки должны выводиться перед созданием файла, а не после)
- название файла формируется динамически, например так: otchet_2020_12_13_184044.xlsx
- в конце файла-обработчика, где формируется excel файл, надо добавить строчку
где $result - название сформированного файла, если все прошло успешно, или 0 (false) - если не получилось создать файл
- в исходном файле в ajax после type: 'post', надо добавить строчку
эти заголовки не нужны, если создавать динамическое имя файлу

Jewbacabra, решение с добавлением ссылки было верным, благодарю

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

Счетчик перед скачиванием файла
Перед скачиванием файла нужно показать страницу со счетчиком 30 секунд и потом чтобы происходило.

Форма с полями перед скачиванием файла
Добрый день. Я в jquery, да и в javascript не очень силен, но появилась надобность сделать.

Аутентификация на веб ресурсе с последующим скачиванием файла
Просьба помочь разобраться. Требуется аутентификация на веб ресурсе, после чего скачивание с него.

Как сделать проверку памяти перед скачиванием файла
Добрый день. Сделал AsyncTask отдельным файлом.Скачиваю фаил, появляется ProgressDialog идет.


Неполадка со скачиванием с репозитория
Всем доброго времени суток. Проблема вот в чем. Работаю при помощи VirtualBox (на виртуальных.

Трабла с скачиванием файлов из интернета
И так, дамы и госопода, вот такая трабла у меня. скачиваю файл в папке его нет, скачиваю ещё раз.

Favorite

Добавить в избранное (1 оценок, среднее: 5,00 из 5)

Как скачать файл на PHP

К ак правило, для загрузки файла с расширениями exe и zip не требуется PHP-скрипт. Если местоположение файла этого типа файла задано в атрибуте href элемента привязки, то файл автоматически загружается, когда пользователь щелкает ссылку для загрузки. Некоторые файлы, такие как файлы изображений, файлы PDF, текстовые файлы, файлы CSV и т. Д., не загружаются автоматически, а вместо этого открываются в браузере, когда пользователь щелкает ссылку для загрузки. Эти файлы можно принудительно загрузить в PHP с помощью функции readfile(), которая не загружается автоматически. В этой статье показано, как принудительно загрузить любой файл с помощью сценария PHP.

Проверить ссылки для скачивания

Ранее упоминалось, что файлы zip и exe загружаются автоматически, без использования сценария PHP. Сначала создайте HTML-файл со следующим кодом. Здесь четыре элемента привязки определены для загрузки файлов четырех типов. Эти типы файлов включают файлы TEXT, ZIP, PDF и JPG.

После нажатия ссылки на zip-файл появится следующее диалоговое окно для загрузки файла. Затем пользователь может загрузить файл или открыть файл в диспетчере архивов.

Загрузить файл с помощью функции readfile()

Функция readfile() используется в сценарии PHP для принудительной загрузки любого файла из текущего местоположения или файла с путем к файлу. Синтаксис этой функции приведен ниже.

Пример 1: Загрузить файл с именем файла

В этом примере мы создадим HTML-файл со следующим кодом, в котором имя файла будет передано в качестве параметра URL-адреса с именем path, а значение этого параметра будет передано в файл PHP с именем download.php.

Выходные данные появятся после щелчка по ссылке для загрузки файла изображения. Размер файла изображения rose.jpg составляет 27,2 КБ, как показано в диалоговом окне. Вы можете загрузить файл, установив переключатель «Сохранить файл» и нажав кнопку OK.

Пример 2: Загрузить файл с указанием пути к файлу

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

Мы создадим файл PHP со следующим кодом, чтобы загрузить файл по пути к файлу. Код PHP в предыдущем примере будет немного изменен для загрузки файла по заданному пути. Функция clearstatecache() используется для очистки кеша, который был ранее сохранен. В функции readfile() используются два аргумента.

Вывод

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: