【问题标题】:opendir error with first two images codeigniter前两个图像codeigniter的opendir错误
【发布时间】:2013-08-02 23:46:17
【问题描述】:

我正在从一个看起来一切正常的目录中读取。我能够显示文件夹内的所有数据,但我有一个问题,在列表的开头它显示了 2 张损坏的图像,它们不是我的,它们有一个奇怪的路径,看起来是它自己生成的,这是奇怪的路径在源文件中:

(资源id #33

代码继续正常运行,因为它应该在这两行之后读取文件夹中的图像。

这是我正在使用的代码:

class HomeModel extends CI_Model{

public function getData(){

$dir = 'img/test';

echo opendir($dir);

if (is_dir($dir)) {

    if ($dh = opendir($dir)) {

     $display_models = '<ul>';

        while (($file = readdir($dh)) !== false) {

    $display_models .= '<li><a href="#"><img src="'.$dir.'/'.$file.'"></a></li>';

        }

    $display_models .= '</ul>';

        closedir($dh);

    }

      return $display_models;
}

}

}

【问题讨论】:

    标签: php image codeigniter readdir opendir


    【解决方案1】:

    你在模型中这样做!

    您需要在控制器上执行此操作。将其复制粘贴到Controller中并调用该函数,您将得到正确的结果。

    模型是 PHP 类,旨在处理信息 你的数据库。例如,假设您使用 CodeIgniter 来管理一个 博客。您可能有一个模型类,其中包含要插入的函数, 更新和检索您的博客数据。

    【讨论】:

    • 这是上面从数据库中读取的模型,为了简短的目的,我返回结果并通过控制器调用它们以显示在视图上。
    • 但是,你可以做到控制器并显示在视图上!为什么你需要使用一个类来处理数据库的数据。
    • 您的意思是使用模型仅用于连接数据库,所有其他命令都在控制器上执行?但是我的方式对页面有不好的影响吗?
    • 不知道会不会有不好的效果。但是,我是 MVC 和干净代码的粉丝。模型类用于 DB 查询。使用控制器调用模型,使用这些数据进行操作,计算某些东西或其他东西并加载到视图中。这种形式会更清晰、更安全、更好!
    • 好的伙计,我会记住这一点,但我想当你有很多连接和计算时,控制器最终可能是一团乱码。
    【解决方案2】:

    hi 添加一个 if 条件来检查。和..像这样

    while (($file = readdir($dh)) !== false) {
        if($file != '.' && $file != '..'){
            $display_models .= '<li><a href="#"><img src="'.$dir.'/'.$file.'"></a></li>';
         }
    
    }
    

    查看本教程也可以帮到你scanning folder with php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-27
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多