2016-08-21 7 views
1

私はCodeigniterを使用しています。私がしようとしているのは、 "views"フォルダ内の特定のフォルダ内のすべてのビューのリストを取得することです。Codeigniterのフォルダ内のビューのリストを取得しようとしています

$this->data['sections'] = array_diff(scandir('/application/views/portfolio/embeds/work/'), array('.', '..')); 

そして、ここで私が取得していますエラーメッセージです:ここで

は私のコントローラの内部で、私のコードです

メッセージ:SCANDIR(/アプリケーション/ビュー/ポートフォリオ/は/埋め込み仕事/):ディレクトリを開くには失敗しました:そのようなファイルやディレクトリんが

ファイル名:コントローラー/ Work.php

行番号:54

私は何かを忘れていますか?または、私のコントローラの場所から相対パスを設定する方法がありますか?パス "../views/portfolio/embeds/work/"を使用しても動作しないようです。

+0

'ます$ this->データ:あなたが最も可能性が高い/var/www/example.com/application

試してみてください。このたい時現在、あなたは、Webサーバー上のディレクトリ/アプリケーションを読み取るためにSCANDIRを求めていますarray( '。'、 '..')); '絶対パスを与える' APPPATH'定数を使用してください: '' section '' = array_diff(scandir(APPATH .'views/portfolio/embeds/work 'アプリケーションディレクトリ。 – Tpojka

答えて

2

、インストールのベースパスに追加する必要がありますを使用します。

scandir(FCPATH . 'application/views/portfolio/embeds/work') 
+0

右。これは完全に機能しました。 – IAmBob

0

は、foreachループのように試してみて、FCPATH

$files = array_diff(scandir(FCPATH .'application/views/portfolio/embeds/work'), array('.', '..')); 

foreach ($files as $file) { 
    echo $file; 
} 
関連する問題