【发布时间】:2015-07-19 13:46:23
【问题描述】:
我正在开发一个网站,在该网站上,用户的个人资料中将显示用户的照片。用户可以使用上传照片按钮上传他/她的照片,然后它会自动重命名为用户的用户名并保存到名为“uploads”的根文件夹中。
现在,我想在用户的个人资料页面上显示照片,但它不会显示。我认为这是因为我将文件名连接到其文件扩展名或其他东西的方式。
到目前为止,这是我的代码:
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";
}
【问题讨论】:
-
你清理过用户名输入吗?如果某人的用户名有两个单词怎么办?字符串将是
"two words",但对于通过http 请求/响应进行的img 输出,它需要是"two%20words" . ".jpg"。另外,检查扩展名的大写/小写。好的方法是将图像位置字符串(默认或上传)存储到表users作为 varchar 列,以便您可以轻松地在代码中调用它。 -
@Tpojka 用户名不能是两个字。我认为,文件扩展名和文件名的大小写无关紧要,我试过了,照片仍然有效。
-
您已经将图像的全名专用于传递给视图文件的数组的变量/元素。所以试试:
<img src="<?php echo base_url('uploads/'.$usrname);?>" width="200px" class="img-circle img-thumbnail" alt="avatar"><Br>. -
它又给了我这个错误:
Message: Undefined variable: usrname -
您也需要在控制器的方法中加载视图文件。
标签: php codeigniter