Загрузка файла с использованием указателя PHP

Я храню файлы выше корневого каталога моего сервера, и я планирую предоставить пользователям возможность загрузки с помощью файла php.

Вот мой код:
Для ссылки на скачивание:

<a href="'.FILEGRAB_ADR.'?adr='.$file.'">Download</a>

и для файла FileGrab.php:

<?php
//This will grab a file from the server

if (file_exists(UPLOAD_ADR.$_GET['adr'])) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="example.CATPart"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header("Content-length: ".filesize(UPLOAD_ADR.$_GET['adr']));

readfile(UPLOAD_ADR.$_GET['adr']);
exit;
}
?>

Я получил вышеуказанный код (по сути) от Вот

Файл FileGrab.php загружается, но, похоже, он просто выбрасывает необработанную текстовую форму файла, произвольный текст / символы и т. Д.

Проверено, что файл существует, и размер файла возвращает значение. Не знаю, как получить больше ошибок, чтобы проверить это!

Имеет ли это значение, это файл .CATPart, который немного абстрактный, но необходимый …

Любая помощь с благодарностью 🙂

2

Решение

Попробуйте использовать функции буферизации, окружая ваш код между ob_start () и ob_end_flush (); , плюс, конечно, убедитесь, что перед отправкой заголовков не используются пробелы или эхо.

Для получения дополнительной информации проверьте эти ссылки:

http://php.net/manual/en/ref.outcontrol.php

Зачем использовать буферизацию вывода в PHP?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]