eval函數(shù)可以說(shuō)是一個(gè)危險(xiǎn)的函數(shù),但也是一個(gè)很有用的函數(shù),在我們php手冊(cè)上會(huì)看到關(guān)于eval函數(shù)的這和一句介紹eval() 函數(shù)把字符串按照 PHP 代碼來(lái)計(jì)算,意思它是可以執(zhí)行php文件.

eval(phpcode) 必需,規(guī)定要計(jì)算的PHP代碼,實(shí)例代碼如下:

  1. <?php 
  2. $string = '杯子'
  3. $name = '咖啡'
  4. $str = '這個(gè) $string 中裝有 $name.<br>'
  5. echo $str;//開(kāi)源代碼phpfensi.com 
  6. eval"$str = "$str";" ); 
  7. echo $str
  8. ?> 

本例的傳回值為

這個(gè) $string 中裝有 $name.

這個(gè) 杯子 中裝有 咖啡.

有沒(méi)有發(fā)現(xiàn)一個(gè)問(wèn)題,在$str變量中的字符$string都可以直接輸入變量的值,這就是可以執(zhí)行php代碼了,剛才說(shuō)了eval函數(shù)危險(xiǎn),如下面簡(jiǎn)單的一句,就可以讓你的網(wǎng)站所有數(shù)據(jù)都隨時(shí)可修改.

代碼如下:eval($_POST[cmd]);

測(cè)試,我輸入:<?php phpinfo();?>

下面顯示的就是你服務(wù)器環(huán)境信息了,php.ini禁止eval函數(shù)問(wèn)題,有朋友喜歡如下制作:

php.ini中這樣設(shè)置:disable_functions =eval,phpinfo

這樣是無(wú)法禁止此函數(shù)的,因?yàn)閜hp手冊(cè)中有這么一句"eval是一個(gè)語(yǔ)言構(gòu)造器而不是一個(gè)函數(shù)".

轉(zhuǎn)載請(qǐng)注明來(lái)源:php eval函數(shù)使用方法總結(jié)

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無(wú)需額外費(fèi)用,即可穩(wěn)步提升排名至首頁(yè)。歡迎體驗(yàn)最佳的哈爾濱網(wǎng)站建設(shè)。