Доброго времени суток !столкнулся с такой проблемой.Загружаю в базу данные в том числе и имя картинки.Нужно выгрузить ее из базы и отобразить на экране.
Картинка расположена по адрессу C:/webservers/home/application/protected/uploads.
Пытаюсь вывести не выходит...
$path=Yii::getPathOfAlias('application.protected.uploads') . '/';
echo CHtml::image($path.$data->file);
Помогите пожалуйста или подскажите где надо копать....
Chtml::image()
Re: Chtml::image()
Зачем ты засунул папку uploads в protected? Вынеси в корень хотя бы.
- tsurka
- Сообщения: 222
- Зарегистрирован: 2012.05.07, 17:10
- Откуда: Приднестровье
- Контактная информация:
Re: Chtml::image()
это путь с корня,
тебе нужень путь начиная где расположено приложение, в твоем случае должно быть примерно так /protected/uploads/image.jpeg
Код: Выделить всё
$path=Yii::getPathOfAlias('application.protected.uploads') . '/';
Re: Chtml::image()
Можно использовать следующие
http://www.yiiframework.com/doc/api/1.1 ... Url-detail
http://www.yiiframework.com/doc/api/1.1 ... Url-detail
- MetalGuardian
- Сообщения: 208
- Зарегистрирован: 2011.03.06, 02:42
- Откуда: Киев
Re: Chtml::image()
1. не нужно хранить файлы в папке protected - к ней закрыт доступ из вне. и достучаться до файлов без дополнительной работы не получится.
2. при создании ссылки на изображение нужно брать не path (это путь в файловой системе). а путь относительно корневого каталога домена.
то есть что то в роде этого:
2. при создании ссылки на изображение нужно брать не path (это путь в файловой системе). а путь относительно корневого каталога домена.
то есть что то в роде этого:
Код: Выделить всё
CHtml::image(Yii::app()->request->getBaseUrl() . '/protected/uploads/image.png');
Re: Chtml::image()
Хорошо я вынес в корень uploads теперь при сохранение картинки в базу пишу так не получается...
$dir=Yii::getPathOfAlias('uploads');
if(isset($_POST['News']))
{
$model->attributes=$_POST['News'];
$file=CUploadedFile::getInstance($model,'file');
$fileName=$file;
$model->file=$fileName;
$model->post_time=date("Y-m-d");
if($model->validate()){
$model->save();
$file->saveAs($dir.'/'.$file->getName());
$this->redirect(array('view','id'=>$model->news_id));
}
}
$dir=Yii::getPathOfAlias('uploads');
if(isset($_POST['News']))
{
$model->attributes=$_POST['News'];
$file=CUploadedFile::getInstance($model,'file');
$fileName=$file;
$model->file=$fileName;
$model->post_time=date("Y-m-d");
if($model->validate()){
$model->save();
$file->saveAs($dir.'/'.$file->getName());
$this->redirect(array('view','id'=>$model->news_id));
}
}
- MetalGuardian
- Сообщения: 208
- Зарегистрирован: 2011.03.06, 02:42
- Откуда: Киев
Re: Chtml::image()
загружать картинку нужно в ту же папку по тому пути, что был раньше.
а сохранять в базу надо относительную ссылку.
а сохранять в базу надо относительную ссылку.
Re: Chtml::image()
заработало!всем спасибо за ответы и поддержку!