【问题标题】:Codeigniter read from directory failedCodeigniter 从目录读取失败
【发布时间】:2013-08-02 19:15:51
【问题描述】:

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

我给你一个例子。如果我 echo $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;
}

}

【问题讨论】:

  • 回显目录路径显示的内容。记得在打开之前先检查它是否存在。请记住,如果它是相对路径,则路径从索引文件的根目录开始。
  • 当我回显 $dir 时,它显示 localhost/my_root_folder,当我回显 $img_dir 时,它显示资源 id #45,资源 id #46 等...这与我的数据库 ID 不同
  • 从您网站的根目录到包含图片的文件夹的目录结构是什么?
  • 实际上看看你为什么使用opendir(),这不是你想要的你使用代码的方式。 opendir 打开该文件夹的处理程序,因此您可以遍历其中的所有文件,但您并没有像那样使用它。 us2.php.net/opendir 如果你只是打开一个文件的链接,你根本不需要 opendir()。

标签: php image codeigniter readdir opendir


【解决方案1】:

你得到的错误是找不到路径,它必须首先存在。第二个问题是,即使路径是固定的,你也以错误的方式使用代码。

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

你会想要与上面类似的东西,这就是你使用该功能的方式。

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

【讨论】:

  • 仍然有问题,您可以在上面看到我按照您的建议进行了更改,但仍然有问题。
  • 好的,我想我解决了这个问题。 $dir 需要是处理图像的文件夹,而不是完整的 url 路径。谢谢丹尼。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-25
  • 2014-04-23
  • 2023-03-30
  • 1970-01-01
  • 2014-12-26
  • 2015-06-10
相关资源
最近更新 更多