>  기사  >  백엔드 개발  >  PHP 평가 함수 사용법 요약

PHP 평가 함수 사용법 요약

高洛峰
高洛峰원래의
2016-11-29 15:33:041410검색

이 기능은 해커들이 가장 많이 사용하는 기능이라고 생각합니다. eval은 PHP에서 비활성화할 수 없는 기능입니다. php.ini에서 비활성화되었지만 결과는 실패했습니다.

정의 및 사용법

eval() 함수는 PHP 코드에 따라 문자열을 계산합니다. 문자열은 합법적인 PHP 코드여야 하며 끝나야 합니다. 그렇지 않은 경우 코드 문자열에서 return 문을 호출하면 코드에 구문 분석 오류가 있으면 eval() 함수가 false를 반환합니다.

구문: eval(phpcode )

매개변수 설명

phpcode가 필수이며 계산할 PHP 코드를 지정합니다.

팁 및 설명

참고: return 문은 즉시 종료됩니다.

참고: 이 함수는 나중에 계산하기 위해 데이터베이스 텍스트 필드에 코드를 저장하는 데 유용합니다.

PHP 예제 코드는 다음과 같습니다.

$string = " 아름다운";

$time = "겨울";

$str = '이것은 $입니다. string $time morning!'; echo $str. "
"

eval("$str = "$str";" );

echo $str;

?>  

//출력:

//오늘은 $string $time 아침입니다! >

//아름다운 겨울 아침입니다!

eval() 함수는 CodeIgniter 프레임워크에서도 유용합니다. /system/database/DB.php 파일에는 CI_DB 클래스가 다음과 같이 동적으로 정의됩니다. 특정 코드 조각은 다음과 같습니다.

if ( !isset($active_record) OR $active_record == TRUE)

{

require_once(BASEPATH .'database/DB_active_rec.php');

if (!class_exists('CI_DB'))

{

eval('class CI_DB 확장 CI_DB_active_record {}');

                                                                            

else 

 { 

                                                                                         

eval(' ​​클래스 CI_DB는 CI_DB_driver를 확장합니다. { }' );

}

} ['dbdriver'].'/'.$params['dbdriver'].'_driver.php') > $driver = 'CI_DB_'.$ params['dbdriver'].'_driver';

$DB = new $driver($params);

이 함수는 문자열을 다음으로 변환할 수 있습니다. 일반적으로 데이터베이스 데이터를 처리하는 데 사용됩니다. 매개변수 code_str은 처리할 문자열입니다. 처리할 문자열은 PHP 문자열 형식을 준수해야 하며 끝에는 다음을 사용하여 처리되는 문자열이 있어야 합니다. 이 기능은 PHP 프로그램이 끝날 때까지 계속됩니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.