Проблема принудительной загрузки PHP (проблема конфигурации сервера)

Я создал функцию для загрузки после того, как пользователь щелкнет ссылку, файл находится в сторонней службе хранения (Sugar Sync) и доступен через его REST API. Теперь я создал функцию принудительной загрузки и протестировал, что она нормально работает на локальном хосте (появляется диалоговое окно загрузки), но когда я запускаю функцию на сервере, она возвращает страницу с ошибкой "Файл не найден". Я подумал, что это может быть какая-то конфигурация PHP, которую нужно установить на стороне сервера, но я не имею ни малейшего понятия, поэтому любая помощь или подсказка очень ценится.

Вот фрагмент кода:

$sugarsync = new SugarSync($refreshtoken);

$response = $sugarsync->get($url); 
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Content-Type: ".$response->mediaType);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".$response->displayName.";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$response->size);

//file is returned as binary data from the API
print($sugarsync->download(urldecode($url)));
exit();

2 ответа

Решение

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

Попробуйте добавить ob_get_clean(); перед вашей функцией печати вот так:

ob_get_clean();
//file is returned as binary data from the API
print($sugarsync->download(urldecode($url)));
exit();
Другие вопросы по тегам