0
A
回答
4
這是一個稍後被該應用程序使用的常量。 Define()用於創建這些常量。通常用於配置數據。要稍後使用此常量,只需在代碼中使用字符串INCLUDE_CHECK就像它是一個沒有$的變量。
所以
if(INCLUDE_CHECK)
{
// Do code that only should happen if you want it to.
}
0
INCLUDE_CHECK不是PHP本身的特點,只有一些代碼,有人用PHP編寫的。第一次點擊on google向我們展示了一個配置文件,用戶試圖通過檢查變量是否被定義來保護它。
在我的谷歌發現狙擊採取的方法是這樣
- 可直接(例如http://example.com/foo.php)引用將定義INCLUDE_CHECK然後包括檢查INCLUDE_CHECK一個文件的文件,例如config.php文件;因爲foo.php已經定義了它,如果用戶直接訪問config.php(如http://example.com/config.php),那麼INCLUDE_CHECK將不會被定義,所以這將會正常工作
- 因此會發生錯誤,從而阻止用戶運行腳本。如果用戶直接訪問的config.php
以下實施例應說明清楚
foo.php
<?php
defined('INCLUDE_CHECK', true);
require_once 'config.php';
?>
的config.php
<?php
if (!defined('INCLUDE_CHECK')) { die ('invalid access'); }
echo 'Hello World!';
?>
,然後INCLUDE_CHECK是不定義,所以腳本將隨着消息的無效訪問而死亡。如果用戶訪問foo.php,它將定義INCLUDE_CHECK ,然後包含config.php,然後它將回顯Hello World。
這是一種保護配置文件的好方法,順便說一句;請參閱my post here以獲得更簡單可靠的方法。
0
只是除了DampeS8N答案,這是正確的。
我讀php.net的鏈路http://in2.php.net/manual/en/function.define.php 和下面的例子清楚地表明,任何值可以用於內部用於限定變量恆定限定函數和INCLUDE_CHECK只是其中我認爲是某種PHP特徵的變量)
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
define("GREETING", "Hello you.", true);
echo GREETING; // outputs "Hello you."
echo Greeting; // outputs "Hello you."
?>
@ DampeS8N pls。如果錯誤的評論!
感謝大家的回答!
相關問題
- 1. 「 - >」在PHP中做什麼?
- 2. session_destroy()在PHP中做什麼?
- 3. AsynchDNS在php中做什麼?
- 4. 什麼(數組)在PHP中做什麼?
- 5. PHP中的bindtextdomain做什麼
- 6. 在Perl中做什麼=〜做什麼?
- 7. 如果(!$ variablename)在PHP中做什麼?
- 8. @在這個php中做什麼?
- 9. 百分號在PHP中做什麼?
- 10. {}標籤在PHP中做什麼?
- 11. 「\」在PHP/MySQL腳本中做什麼
- 12. 什麼是。 (點)在PHP中做?
- 13. '@'前綴在PHP中做什麼?
- 14. RETURN TRUE在php函數中做什麼?
- 15. 函數_($ string)在PHP中做什麼?
- 16. 函數free()在PHP中做什麼?
- 17. 什麼`...`在PHP對象實例中做什麼
- 18. 什麼做!==和===在PHP中是什麼意思?
- 19. 我能做些什麼 PHP
- 20. 做什麼,如果PHP
- 21. PHP spl_autoload_register什麼都不做
- 22. PHP函數@ $ _做什麼?
- 23. PHP郵件:-f做什麼?
- 24. 什麼!=在玉/帕格中做什麼?
- 25. 什麼是opt.apply_gradients()在TensorFlow中做什麼?
- 26. 什麼是string.indexOf(「*。」)在Javascript中做什麼?
- 27. 是什麼。在Haskell中做什麼?
- 28. 什麼是outData.writeInt()在Java中做什麼?
- 29. 什麼?=在Makefile中做什麼?
- 30. 什麼是:%S在vim中做什麼?
嗨,感謝您的快速回復。那麼它是否像布爾變量? – Sagar 2010-11-29 13:02:59
他們可以。他們可以容納任何非複雜的數據結構。String,float,int,bool。他們不能容納對象或數組。如果你真的對PHP非常陌生,那麼我只會閱讀關於Define()的php.net條目,如果這太難理解,請稍後再回來。這是PHP的中等先進方面。 – DampeS8N 2010-11-29 13:07:35