0

サーバー (/uploads) に保存されている画像の表示に問題があり、フィールドの名前がデータベースに保存され、ユーザー ID にリンクされています。

私のコントローラー:

function do_upload()
{
if($this->session->userdata('is_logged_in'))
{
$id = $this->session->userdata('id');
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '100';
$config['max_width']  = '1024';
$config['max_height']  = '768';
$config['overwrite'] = false;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view("site_header");
$this->load->view("site_nav");
$this->load->view('upload_form', $error);
}else
{    
$data = $this->upload->data();
$file_array = $this->upload->data('file_name');
$profile['profile_picture'] = $file_array['file_name'];
$this->db->where('id', $id);
$this->db->update('users',  $profile);
$data['img']= base_url().'/uploads/'.$data['file_name'];
$this->load->view('upload_success', $data);
}


public function members(){
if($this->session->userdata('is_logged_in')){
   $this->load->model('loginmodel');
   $data = $this->loginmodel->getImage();
   print('/uploads/'.$data);
   $img = base_url().'/uploads/'.$data;
   $this->load->view("site_header");
   $this->load->view("site_nav");
   $this->load->view("members");
   $this->load->view("site_footer");

}else{.....

モデル

function getImage()
{
$id = $this->session->userdata('id');
$this->db->select("*");
$this->db->from('users');
$this->db->where('id', $id);
$query = $this->db->get();
if($query->num_rows()==0)
echo("Picture not found!");
else{
$data = $query->row_array();
return $data['profile_picture'];
 }
}

見る:

<img src="<?php echo $img; ?>" border="0" width="10" height="10">

次のエラーが表示されます: PHP エラーが発生しました 重大度: 通知メッセージ: 未定義の変数: img ファイル名: views/members.php 行番号: 19 " border="0" width="10" height="10">

4

2 に答える 2

0

ビューにデータを渡します。

$data = array('img' => $img);
$this->load->view("members", $data);
于 2013-04-15T14:39:06.600 に答える
0

ビューで php の isset 関数を使用してみてください。

于 2013-04-15T14:44:24.527 に答える