ユーザーがリンクをクリックするとダウンロードを発行する機能を作成しました。ファイルはサードパーティのストレージ サービス (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();