Отдать файлы пользователю
Приведены два способа отдать пользователю файл с использованием php.
Если вам необходимо отдать какой-то расшаренный файл пользователю, то никаких проблем обычно не возникает. Поставили ссылку на файл и забыли.
А если вы хотите сделать файл доступным только зарегистрированным пользователям? Или вы продаете файл в своем электронном магазине? В этом случае файл требуется ложить защищенную папку и отдавать их скриптом при выполнении определенных условий.
Проще всего отдать файл с использованием функции readfile(). Вот пример функции отдающей файл из php. Пример взят из официальной документации и немного изменен на случай, буферизованного вывода. Важно, чтобы файл отдавался сразу, а не считывался в память.
Таким методом пожно отправлять и большие файлы. Функция readfile считывает не весь файл в память, а использует внутренний буфер размером 8кБ.
Если не хотите пользоваться встроенной функцией, то можно читать файл в ручную. Данный метод используется например в cms Drupal.
Если у вас есть полный доступ к серверу, то для отдачи файлов можно воспользоваться специальными модулями серверов.
Нет комментариев.