2013-08-02 4 views
0

Я изменился, и теперь он ничего не показывает. Каталоги существуют в папке.Codeigniter, прочитанный из каталога, не удался

Я даю вам пример. Если i echo $ dir i get fullurlpath/root_folder/username

весь путь и каталоги существуют, поэтому $ dir в порядке, что-то еще должно произойти.

класс front_page расширяет CI_Model {

function front_display(){ 

    $this->db->select('id, username'); 
    $query = $this->db->get('models')->result(); 

    $display_models = '<ul class="display-models">'; 

    foreach ($query as $row){ 


     $username= $row->username; 

     $dir = base_url('/img/'.$username.''); 
     echo $dir; 
     if(is_dir($dir)){ 
      if($dh = opendir($dir)){ 
       while(($file = readdir($dh)) !== FALSE){    

        $display_models .= '<li>'; 
        $display_models .= '<a href="profilepage/'.$row->id.'">'; 
        $display_models .= '<img src="'.$dir.'/'.$file.'">'; 
        $display_models .= '</a>'; 
        $display_models .= '</li>'; 

       } 

       closedir($dh); 
      } 
     } 
    } 

     $display_models .= '</ul>'; 

     return $display_models; 
} 

}

+0

Повторите то, что показывает путь к каталогу. Не забудьте проверить, существует ли он, прежде чем открывать его. Помните, что это относительный путь начинается с корня вашего индексного файла. – Danny

+0

Когда i echo $ dir показывает http: // localhost/my_root_folder /, а когда i echo $ img_dir, он показывает идентификатор ресурса # 45, идентификатор ресурса # 46 ect ... который не совпадает с моим идентификатором базы данных – DanielDake

+0

Что такое каталог структуру из корня вашего сайта в папку, содержащую изображения? – Danny

ответ

0

Ошибка вы получаете, поговорки путь не найден, он должен есть первый. Вторая проблема заключается в том, что вы используете код неправильно, даже когда путь исправлен.

// Open a known directory, and proceed to read its contents 
if (is_dir($dir)) { 
    if ($dh = opendir($dir)) { 
     while (($file = readdir($dh)) !== false) { 
      $display_models .= '<li>'; 
    $display_models .= '<a href="profilepage/'.$row->id.'">'; 
    $display_models .= '<img src="'. $dir.'/'. $file.'">'; 
    $display_models .= '</a>'; 
    $display_models .= '</li>'; 
     } 
     closedir($dh); 
    } 
} 

Вам нужно что-то похожее на вышесказанное, именно так вы используете эту функцию.

Помните, что путь должен быть исправлен в первую очередь, иначе это не будет проходить через что-либо, потому что папка не найдена, и она не сможет найти какие-либо файлы.

+0

Все еще имея проблему, вы можете видеть выше, что я изменил, как вы предполагали, но все же что-то не так. – DanielDake

+0

Хорошо, я думаю, я исправил проблему. $ dir должен быть папкой, обрабатывающей изображения, а не полным URL-адресом. Спасибо, Дэнни. – DanielDake