我更改了,现在它什么都不显示。文件夹中存在目录。
我给你举个例子。如果我回显$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;
}
}
您得到的错误是没有找到路径,必须先存在。第二个问题是,即使路径是固定的,您也以错误的方式使用代码。
// 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);
}
}
你会想要类似于上面的东西,这就是你使用该函数的方式。
请记住,路径需要首先固定,否则将不会循环通过任何内容,因为找不到文件夹,也找不到任何要循环通过的文件。