アプリ用のサーバー側 API を作成しています。手順の 1 つは、アプリがサーバーから非常に大きな zip ファイルをダウンロードすることを必要としますが、ダウンロードするだけでは実行できませんhttp://mydomain.com/file.zip
。私のアプリは、いくつかの認証ヘッダーと、php スクリプトで処理する必要があるその他の安全要素を渡します(例: http://mydomain.com/download.php?auth=foo&key=value&etc
)
私は以前に画像を使ってこの種のことをしました:
<?php
$can_download = /* some complicated auth stuff */
if($can_download) {
header('Content-Type: image/jpeg');
echo file_get_contents('image.jpg');
}
?>
私の質問は、200 MB 以上の zip ファイルで実行できますか? 何らかの方法でヘッダーを変更する必要があり、おそらくいくつかの高度なphp関数を使用する必要があることはわかっていますが、ここ、スタックオーバーフロー、または他のどこにもチュートリアルが見つかりませんでした.
編集:ダウンロードを再開できるはずですが(たとえば47%から)、ユーザーがアプリを終了する可能性が非常に高いため、ダウンロードを再開できる必要もあります。それはできますか?
答えを探している人のために: 正しい関数はreadfileであり、「再開」の問題はこのカスタム関数を使用して解決できます。