2016-02-08 4 views
0

Добрый день! Я пытаюсь извлечь из пути изображения с именем, хранящимся из базы данных, но я изо всех сил пытаюсь отобразить это изображение из папки, и я объясню вам это позже ... вот мой код.показать изображение из базы данных в codeigniter

в моем контроллер

public function save() 
{ 
    $url = $this->do_upload(); 
    $title = $_POST["title"]; 
    $this->main_m->save($title, $url); 
} 

public function do_upload() 
{ 
    $type = explode('.', $_FILES["pic"] ["name"]); 
    $type = $type[count($type)-1]; 
    $url = "./images/".uniqid(rand()).'.'.$type; 
    if(in_array($type, array("jpg","jpeg","gif","png"))) 
    if(is_uploaded_file($_FILES["pic"]["tmp_name"])) 
     if (move_uploaded_file($_FILES["pic"]["tmp_name"], $url)) 
    return $url; 
} 

в моей зрения им пытаются получить, как это.

<?php foreach ($this->b->getalldata() as $row) { 
     echo '<li>'. 
       '<a class="ns-img" href="'.base_url("images/".$row->image).'".></a>'. 
       '<div class="caption">'.$row->title.'</div>'. 
      '</li>'; 
       } ?> 

в моей модели

public function save($title, $url) 
{ 
    $this->db->set('title', $title); 
    $this->db->set('image', $url); 
    $this->db->insert('slider'); 
} 

изображение хранится в папке пути, а также новое имя изображения сохраняются в базе данных, но отображать изображения, как, не работает для меня. моя папка пути к изображению - это «изображения», а имя изображения, хранящееся в базе данных, «./images/new_name.jpg» не совпадает с именем, сохраненным в пути к папке. имя изображения, сохраненное в пути к папке, не имеет ./images/ only new_name.jpg ...

Как отобразить это изображение? кто-то пробовал это? Помогите!

+0

Пожалуйста, разместить код в сохранении URL –

ответ

1

Вы должны взорвать имя изображения из "./images/new_name.jpg".

$image_arr = explode("/", "./images/new_name.jpg"); 

echo $image_name = end($image_arr); 
+0

sir, что new_name.jpg не всегда является именем изображения, потому что im использует uniqid (rand()). –

+0

В режиме foreach вы должны указать имя изображения как $ row-> image. Вы можете сделать new_image.jpg для dymanic. –

+0

Вы бы указали b-> getalldata() как $ row) {$ image_arr = explode ("/", $ row-> image); $ image_name = end ($ image_arr); echo '

  • '. ''. '
    '.$row->title.'
    '. '
  • '; }?> –

    -1

    У вас есть ошибка здесь .base_url("images/".$row->image).' n попытаться использовать site_url('images').'/'.$row->image Надеюсь, вы получите правильный путь к своему файлу.

    +0

    изображения, если по-прежнему сталкивается с вопрос проверить ваш .htaccess файл, чтобы вы дали разрешения для папки с изображениями. –

    +0

    его не работает сэром Азамом, результат, полученный от источника страницы, составляет

    +0

    use site_url() вместо site_url ('images') –

    0

    мы использовали библиотеку загрузки CodeIgniter

    $this->load->library('image_lib'); 
         $config = array(
             'upload_path' => APPPATH."upload/folder", 
             'allowed_types' => "gif|jpg|png|jpeg", 
             'overwrite' => TRUE, 
             'max_size' => "2048000" 
            ); 
    
    
        $this->load->library('upload', $config); 
        $this->upload->do_upload('pic'); 
    
    0

    Вы должны img HTML тег:

    <img src="<?php echo base_url('images/' . $row->image);?>"> 
    
    +0

    Могу ли я использовать этот тег img? Im использует этот якорный тэг специально, потому что im использует эти изображения для моего слайда. Изображения –

    +0

    Вы можете обернуть изображение в ссылку '', но для того, чтобы увидеть изображение, изображение должно быть в теге' img'. – Tpojka

    0

    Тест

    На вид

    <?php foreach ($this->b->getalldata() as $row) { 
        echo '<li>'. 
         '<a class="ns-img" href="#">'.base_url().'images/'.$row->image.'</a>'. 
          '<div class="caption">'.$row->title.'</div>'. 
         '</li>'; 
        } ?>  
    
    Смежные вопросы