2015-07-19 3 views
2

Я работаю над сайтом, в котором в профиле пользователя будет отображаться фотография пользователя. Пользователь может загрузить свою фотографию с помощью кнопки «Добавить фотографию», после чего она будет автоматически переименована в имя пользователя и будет сохранена в корневой папке с именем «uploads».Показать изображение на основе имени файла имени пользователя в CodeIgniter

Теперь я хочу отобразить фотографию на странице профиля пользователя, но она не будет отображаться. Я думаю, что это связано с тем, как я соединяю имя файла с его расширением файла или чем-то еще.

Вот мой код до сих пор:

view.php
<img src="<?php echo base_url().'uploads/'.$userdata['usrname'];?>" width="200px" class="img-circle img-thumbnail" alt="avatar"><Br>

Контроллер

public function files(){ 

     $nga = $this->session->userdata('username'); 

     $data['usrname'] = $nga, ".JPG"; 
} 
+0

Вы продезинфицировать ввод имени пользователя? Что, если у кого-то есть два слова? Строка будет '' двумя словами '', но для вывода img выполняется работа через http request/reply, это должно быть '' два% 20words '. ".jpg" '. Кроме того, проверьте верхний/нижний регистр расширения. Хорошим способом было бы хранить строку местоположения изображения (по умолчанию или загружено) в таблицу 'users' в качестве столбца varchar, чтобы вы могли легко ее вызвать в коде. – Tpojka

+0

@Tpojka имя пользователя не может быть двух слов. Я думаю, что верхний/нижний регистр не будет иметь значения в расширении файла или имени файла, я попробовал его, и фото все еще работает. – kmf

+0

Вы уже посвятили полное имя изображения переменной/элементу массива, переданному файлу просмотра. Итак, попробуйте с помощью: 'avatar
'. – Tpojka

ответ

1
<img src="<?php echo base_url().'uploads/'.$data['usrname'] = $this->session->userdata('username'). ".JPG";;?>" width="200px" class="img-circle img-thumbnail" alt="avatar"><Br> 
0

Это:

$data['usrname'] = $nga, ".JPG"; 

Должен быть это (точка вместо запятой конкатенировать):

$data['usrname'] = $nga . ".JPG"; 
+0

Я уже понял это. Пробовал это уже, но он все равно не работает. Но спасибо в любом случае :) – kmf