0

変更しましたが、何も表示されなくなりました。ディレクトリはフォルダに存在します。

私はあなたに例を挙げています。$dir をエコーすると、fullurlpath/root_folder/username を取得します

パスとディレクトリ全体が存在するため、$dir は問題ありません。他の何かが発生する必要があります。

class Front_Page extends 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

あなたが得ているエラーは、パスが見つからないということわざです。最初に存在する必要があります。2 番目の問題は、パスが修正されている場合でも、コードを間違った方法で使用していることです。

// 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 に答える