web-dev-qa-db-ja.com

Yii2ファイルダウンロード機能

/ uploadsフォルダーからファイルをダウンロードする必要がありますが、アクションが呼び出されるとtimeOutエラーが発生します。誰でも助けてくれます:(

   public function actionDownload() {
   $path = Yii::getAlias('@webroot') . '/uploads';

   $file = $path . '/1.pdf';

   if (file_exists($file)) {

   Yii::$app->response->sendFile($file);

  } 
}
6
ronydavid

ダウンロードに時間がかかりすぎる場合は、2つの可能性があります

  • スクリプトの最大実行時間を増やすことができます。スクリプトが大きすぎるファイルに対してタイムアウトするため、これは最善の解決策ではありませんが、これが最も簡単な解決策です(質問とは関係のないパフォーマンス上の考慮事項がある場合があります)。そうするには :

ini_set('max_execution_time', 5*60); // 5 minutes

if (file_exists($file)) { Yii::$app->response->xSendFile($file); }

5
Mat