Я работаю над сайтом, в котором в профиле пользователя будет отображаться фотография пользователя. Пользователь может загрузить свою фотографию с помощью кнопки «Добавить фотографию», после чего она будет автоматически переименована в имя пользователя и будет сохранена в корневой папке с именем «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";
}
Вы продезинфицировать ввод имени пользователя? Что, если у кого-то есть два слова? Строка будет '' двумя словами '', но для вывода img выполняется работа через http request/reply, это должно быть '' два% 20words '. ".jpg" '. Кроме того, проверьте верхний/нижний регистр расширения. Хорошим способом было бы хранить строку местоположения изображения (по умолчанию или загружено) в таблицу 'users' в качестве столбца varchar, чтобы вы могли легко ее вызвать в коде. – Tpojka
@Tpojka имя пользователя не может быть двух слов. Я думаю, что верхний/нижний регистр не будет иметь значения в расширении файла или имени файла, я попробовал его, и фото все еще работает. – kmf
Вы уже посвятили полное имя изображения переменной/элементу массива, переданному файлу просмотра. Итак, попробуйте с помощью: ';?>)
'. – Tpojka