У меня есть файл generate_xls.php
и создает файл.xls
и хотите сохранить его в папке. Что теперь делать, это загрузить файл. У меня есть следующее:
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment;Filename=ocorrencias.xls");
echo "write in file xls";
Файл также создается, но я хочу сохранить файл в папке на моем сервере, а не загружать его. Есть ли какие-либо изменения в header
сделать это?
Заголовки HTTP являются частью HTTP-запросов и ответов, которые отправляются при обмене данными по сети. Они содержат информацию о клиенте, сервере, отправляемой информации и многое другое.
Если сценарий создает файл и отправляет его клиенту, сценарий должен создать соответствующие заголовки, чтобы уведомить клиента о типе файла (Content-type: application/vnd.ms-excel
) скачивать ли напрямую (Content-Disposition: attachment
) или просмотреть его в веб-браузере и т. д.
Если скрипт создает файл и сохраняет его на сервере (например, используя file_put_contents($file_name, $data)
), не нужно устанавливать заголовки, поскольку файл не передается по сети. Если кто-то впоследствии захочет загрузить файл, например, с помощью клиента FTP или другого сценария этот сценарий или программа FTP на сервере будут устанавливать соответствующие заголовки при передаче.
Других решений пока нет …