как создать ссылку для скачивания в yii?

#php #yii

#php #yii

Вопрос:

Я хочу создать ссылку для скачивания для файлов, хранящихся в моем каталоге webapp, поэтому, когда пользователь нажимает на ссылку, файл должен быть загружен, вот мой код:

  $src= Yii::app()->request->baseUrl;
 $url2 = $src."/CVs/resumes/".$m->idJob."-".$m->cv;
 $url = Yii::app()->getRequest()->sendFile( $m->cv , file_get_contents( $url2 ) );
 echo"<tr><td style='border:4px solid;border-color: black;text-align: center;'>".
 CHtml::link($m->fullName, array('submit'=>$url))."</td></tr>";
  

Я получил сообщение об ошибке, что такого файла или каталога нет, где ошибка?

Ответ №1:

Попробуйте удалить третью строку и изменить последнюю на CHtml::link($m->fullName, $url2)."</td></tr>";

Пожалуйста, дайте мне знать, если это сработает.

Комментарии:

1. это сработало, но если файл может быть открыт браузером, он будет загружен, как если бы это был .php, .html…

2. Правда, если вы хотите открыть его в браузере, вам придется создать страницу, которая «печатает» содержимое самого файла. Я думаю, это было бы что-то вроде: http://yoursite.com/file/download/file_name.pdf , и действие загрузки искало бы файл и печатало его с помощью Yii::app ()-> GetRequest()-> sendFile. Понял это?

3. Если сделка была закрыта, вы можете пометить вопрос как отвеченный.