2014-10-07 2 views
0

В моей форме codeigniter, я пытаюсь установить else if для моего изображения данных. В настоящее время он поднимает if, когда изображение существует. Но нужно забрать мой no_image.png, если изображение отсутствует, используя тот же код ниже.Not Picking Up Image If False

<?php 
class Users extends MX_Controller { 

public function index() { 

    $this->getForm(); 

} 

protected function getForm($user_id = 0) { 

$this->load->model('admin/user/users_model'); 

$user_info = $this->users_model->getUser($user_id); 

if (trim($this->input->post('image'))) { 

    $data['image'] = $this->input->post('image'); 

} elseif (!empty($user_info)) { 

    // This Location Image Works Fine. 

    $data['image'] = config_item('base_url') . 'image/catalog/' . $user_info['image']; 

} else { 

    // Should Display If No Image Present In Database Does Not Work. 

    $data['image'] = config_item('base_url') . 'image/'. 'no_image.png'; 
} 

} 

$this->load->view('user/users_form', $data); 

} 

Просмотр Страница:

<div class="form-group"> 
<label for="input-image" class="col-lg-2 col-md-12 col-sm-2 col-xs-12"><?php echo $entry_image; ?></label> 
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-12"> 
<a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"> 
<img src="<?php echo $image; ?>"/> 
</a> 
</div> 
</div> 
+1

Если вы никогда не получите 'no_image' даже когда есть не образ, это потому, что'! Пусто ($ user_info)) 'не всегда' 'true', потому что $ user_info' бывает' 0, нуль, false, array, "", '' ' – Ohgodwhy

+0

@Ohgodwhy У вас есть пример кода, каким он должен быть? –

ответ

0

Убедитесь, что в папке изображений no_image.png существует. И он доступен напрямую. Подобно , вы можете попробовать прямо открыть ссылку в своем браузере как http://www.yoursiteurl/image/no_image.png.

Если открывается, то есть две возможности

  1. в файле конфигурации нет никакого конца слэш для BaseUrl.

  2. код никогда не выполняет то еще Блокировать

Если ссылка dierct не открывается, то проблема может HTAccess существует.

Надеюсь, это вам поможет.

Или ваше ElseIf условие может быть, как это

  elseif(!empty($user_info) && $user_info['image'] && file_exists(config_item('base_url') . 'image/catalog/' . $user_info['image'])){ 
      ... 
      } 
      // + so your user info is valid but user picture is not available 
+0

Не помогает ничего общего с этим. Работа с изображениями. просто иначе, если не работает –

+0

Мне пришлось создать вторичный оператор if, чтобы сделать работу no_image. –

0

я должен был создать, если заявление ниже, чтобы заставить его работать на no_image.png теперь работает таким образом.

if (trim($this->input->post('image'))) { 
$data['image'] = $this->input->post('image'); 
} elseif (!empty($user_info)) { 
$data['image'] = config_item('base_url') . 'image/catalog/' . $user_info['image']; 
} else { 
$data['image'] = ''; 
} 

if ($user_info['image'] == FALSE) { 
$data['image'] = config_item('base_url') . 'image/'. 'no_image.png'; 
}