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. AsynchDNS在php中做什麼?
- 2. 什麼(數組)在PHP中做什麼?
- 3. PHP中的bindtextdomain做什麼
- 4. 在Perl中做什麼=〜做什麼?
- 5. RETURN TRUE在php函數中做什麼?
- 6. 函數_($ string)在PHP中做什麼?
- 7. 「\」在PHP/MySQL腳本中做什麼
- 8. '@'前綴在PHP中做什麼?
- 9. @在這個php中做什麼?
- 10. 什麼`...`在PHP對象實例中做什麼
- 11. 什麼做!==和===在PHP中是什麼意思?
- 12. 我能做些什麼 PHP
- 13. PHP函數@ $ _做什麼?
- 14. 做什麼,如果PHP
- 15. PHP郵件:-f做什麼?
- 16. php pdo¿我在做什麼錯?
- 17. 我在這裏做錯了什麼? [php]
- 18. 什麼是string.indexOf(「*。」)在Javascript中做什麼?
- 19. 什麼是outData.writeInt()在Java中做什麼?
- 20. 什麼是String.iter()在Rust中做什麼?
- 21. 「+」在CSS中做了什麼?
- 22. '@'在c#中做什麼?
- 23. 什麼 - 在Excel中做?
- 24. 在JavaScript中做什麼「殺」?
- 25. config.gem(在environment.rb中)做什麼?
- 26. crypt()在C中做什麼?
- 27. -G在Perl中做什麼?
- 28. `...`在matlab中做什麼?
- 29. 「%% DatabaseEx」在TSQL中做什麼?
- 30. 在Unix中'-d'做什麼?
嗨,感謝您的快速回復。那麼它是否像布爾變量? – Sagar 2010-11-29 13:02:59
他們可以。他們可以容納任何非複雜的數據結構。String,float,int,bool。他們不能容納對象或數組。如果你真的對PHP非常陌生,那麼我只會閱讀關於Define()的php.net條目,如果這太難理解,請稍後再回來。這是PHP的中等先進方面。 – DampeS8N 2010-11-29 13:07:35