這樣寫的三個if句,不是引用檔案 吧?我的理解是判斷有沒有,但不是引用!
如果不是引用的話,那這三個檔案中的方法或設定啥的都沒有引過來,比如它裡面的函數或是變數常量啥的都沒有引過來,還是不能用!不知這麼理解對嗎
if (!@include(dirname(dirname(__FILE__)).'/global.php')) exit('global.php isn\'t exists!');if (!@include(BASE_PATH.'/control/control.php')) exit('control.php isn\'t exists!');if (!@include(BASE_CORE_PATH.'/33hao.php')) exit('33hao.php isn\'t exists!');
回複討論(解決方案)
是引用,判斷有沒有,有的話就引用進來了。
如果引用檔案失敗,則退出
是引用,判斷有沒有,有的話就引用進來了。
我卡就卡在這裡,為啥它同時也是引用呢,這個道理怎麼講?
如果引用檔案失敗,則退出
可if條件成立也不能把檔案引進來啊,因為我的理解它這裡是判斷真的假的,僅此而已。
為什麼呢?
if (!@ include(dirname(dirname(__FILE__)).'/global.php')) exit('global.php isn\'t exists!');
include(dirname(dirname(__FILE__)).'/global.php') 用於引入 global.php 檔案,這沒有異議吧?
如果失敗將返回假,並伴隨錯誤資訊。屏蔽掉錯誤資訊後
var_dump(@include('global.php')); //bool(false)
這樣還不能理解嗎?
為什麼呢?
if (!@ include(dirname(dirname(__FILE__)).'/global.php')) exit('global.php isn\'t exists!');
include(dirname(dirname(__FILE__)).'/global.php') 用於引入 global.php 檔案,這沒有異議吧?
如果失敗將返回假,並伴隨錯誤資訊。屏蔽掉錯誤資訊後
var_dump(@include('global.php')); //bool(false)
這樣還不能理解嗎?
為什麼呢?
if (!@ include(dirname(dirname(__FILE__)).'/global.php')) exit('global.php isn\'t exists!');
include(dirname(dirname(__FILE__)).'/global.php') 用於引入 global.php 檔案,這沒有異議吧?
如果失敗將返回假,並伴隨錯誤資訊。屏蔽掉錯誤資訊後
var_dump(@include('global.php')); //bool(false)
這樣還不能理解嗎?
沒有,我的理解是,這樣只能是判斷有沒有,而不是引用檔案。
那就請你動手做以下,以清除錯誤的想法
IF判斷需要執行括弧裡的運算,include 執行完畢(成功)將返回1,SO
IF判斷需要執行括弧裡的運算,include 執行完畢(成功)將返回1,SO
呵呵,對對,執行完畢,這個解釋有道理,明白了。
include就是引用包含的意思啊,可以去看下手冊,引用失敗就退出。如果只是判斷存不存用file_exists()就可以了。