0

我改变了,现在它什么也没显示。目录存在于文件夹中。

我给你一个例子。如果我回显 $dir 我得到 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;
}

}

4

1 回答 1

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);
    }
}

您将需要与上述类似的东西,这就是您使用该功能的方式。

请记住,首先需要修复路径,否则这将不会循环任何内容,因为找不到文件夹并且它不会找到任何要循环的文件。

于 2013-08-02T20:14:11.113 回答