ファイルのダウンロードを強制するために、CakePHP の Media ビューを使用しています。私のコードは、クックブックで提供されている例とほとんど同じです。便宜上、ここに貼り付けます。
<?php
class ExampleController extends AppController {
public function download () {
$this->viewClass = 'Media';
// Download app/outside_webroot_dir/example.zip
$params = array(
'id' => 'example.zip',
'name' => 'example',
'download' => true,
'extension' => 'zip',
'path' => APP . 'outside_webroot_dir' . DS
);
$this->set($params);
}
}
データベースには、ファイルがダウンロードされた回数を追跡するフィールドがあります。この数値ができるだけ正確であることを確認する方法を探しています。そのため、ユーザーのダウンロードがキャンセルされたりタイムアウトしたりした場合、数値は増加しません。ダウンロードが実際に成功したことを CakePHP の Media ビューが報告する方法はありますか?