2013-10-31 131 views
2

在笨我試圖加載認爲該文件從控制器存在或不前檢查,我想喜歡 -如何檢查視圖是否存在?

public function foo($file = "") 
{ 
    if (file_exists(APPPATH."views/log/{$file}.".EXT)) 
    { 
     $this->load->view('log/'.$file); 
    } 
    else 
     show_404(); 
} 

但該文件是存在那裏,然後也file_exists()方法返回false,我有還使用var_dump()進行了檢查。我沒有得到什麼問題就在這裏,我猜測,有相關的映射的東西的問題,因爲該目錄結構是喜歡 -

application 
    |--controllers 
    | |--ctrl.php //Controller file where I am checking 
    |--views 
     |--log 
     |-- .. //Checking files for here 

,但我怎麼能解決?

編輯:只是打錯'視圖'到'查看'(在代碼中,我打電話給file_exists()方法在if)糾正它。

+0

Srry你輸入的錯誤,但問題仍然存在 – CodeCrypt

+0

請發佈正確的代碼,顯示你如何調用'foo()',你如何傳遞參數,以及'var_dump()'的結果。 –

+0

大小寫問題,視圖文件名應該小寫 – baldrs

回答

5

在笨的EXT常數等於.php和定義在index.php

// The PHP file extension 
// this global constant is deprecated. 
define('EXT', '.php'); 

你加入一個額外的點:

APPPATH."views/log/{$file}.".EXT 
//      ^

這將導致類似views/log/myfile..php

由於常數正在逐步淘汰,你應該避免它。

+0

不,我輸出了'APPPATH。「views/log/{$ file}。」.EXT「的結果。它有'application/views/log/viewfile.php',正如我在上面的評論中提到的那樣。但它也不起作用 – CodeCrypt

+0

除非你改變了代碼中看起來不可能的常量定義。另外,'APPPATH'應該是一個完整的服務器路徑,這樣不會加起來,你顯示的是相對路徑。請正確顯示*您如何檢查價值,[編輯]您的帖子。 –

+0

哦,是的!它正在工作:)。但是當我打印出「APPPATH。」views/log/{$ file}。「.EXT」的值時,它會給出'application/views/log/viewfile.php'。我不知道是什麼問題,但任何方式謝謝:) – CodeCrypt