Подскажите пожалуйста, как реализовать скачивание нескольких файлов, при создании Tasks(задачи), я прикрепляю к ней несколько файлов (2) которые сохраняются в другую таблицу Files. Мне нужно сделать actionDownload так, чтобы при нажатии на кнопку скачать , скачивались оба файла.
функция загрузки
public function actionDownload($id)
{
$data = Files::findOne($id);
header('Content-Type:'.pathInfo($data->url,PATHINFO_EXTENSION));
header('Content-Disposition: attachment; name='.$data->name);
return Yii::$app->response->sendFile($data->url);
}
функция создания
public function actionCreate()
{
$model = new Tasks();
$performer = new Performers();
$model2 = new Files();
if ($model->load(Yii::$app->request->post()) && $performer->load(Yii::$app->request->post())&& $model2->load(Yii::$app->request->post()))
{
$model->save();
$url = UploadedFile::getInstances($model2,'url');
foreach($url as $file){
$filename = uniqid();
$model2 = new Files();
//echo var_dump($file);
// die();
// if ($file->upload()){
if($file->saveAs(Yii::getAlias(('@webroot').'/uploads/'. $filename.'.'.pathinfo($file->name, PATHINFO_EXTENSION)))){
$model2->id_task = $model->id;
$model2->name = $file->name;
$model2->url = Yii::getAlias(('@webroot').'/uploads/'. $filename.'.'.pathinfo($file->name, PATHINFO_EXTENSION));
$model2->save(false);
}
}
// сохраняем id Задачи в таблицу Исполнители
$performer->id_task = $model->id;
$performer->save();
return $this->redirect(['view', 'id' => $model->id]);
} else{
return $this->render('create', [
'model' => $model,
'performer' => $performer,
'model2' => $model2,
]);
}
}