PHP函数eval()包含大量代码

时间:2015-09-02 17:19:22

标签: php

我在使用带有大型PHP文件的eval()时遇到问题。

此代码工作正常:

<?php
$str = file_get_contents('short_code.php');
eval($str);
?>

但是

<?php
$str = file_get_contents('long_code.php');
eval($str);
?>

不起作用。我收到以下错误:

PHP Parse error:  syntax error, unexpected '4' (T_LNUMBER) in /var/www/html/long_code.php(1516) : eval()'d code

注意:

  1. 文件short_code.php和long_code.php在没有eval()的情况下正常工作,但没有 有任何语法错误
  2. 当我使用eval()时,我从开始/结束文件中删除了<?php?>标记
  3. short_code.php有147行和16036个字符。 long_code.php有 1517行和181778个字符。
  4. 这个问题是由大文件(long_code.php)引起的,还是由其他原因造成的?

1 个答案:

答案 0 :(得分:0)

请尝试使用以下代码,并且不要从您获得的开始/结束文件中删除<?php?>标记:

  <?php
   $str = file_get_contents('long_code.php');
   eval('?>'.$str.'<?php;');
   ?>