PHP 动态执行

在页面上直接输入代码,点击执行,返回执行结果

方法很简单,主要使用了 $newfunc = create_function(‘‘, $code); 函数来实现。

代码如下:

<?php

$code = ‘return "no code!";‘;
if (isset($_POST[‘code‘]) && $_POST[‘code‘] != ‘‘)
{
    $code = $_POST[‘code‘];
}
$newfunc = create_function(‘‘, $code);
$res = $newfunc();

?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>XXX</title>
    </head>
    <body>
        <form action="run.php" method="POST">
        <textarea name="code" style="width:100%; height:300px;"><?php echo $code ?></textarea><br>
        <input type="submit" value="RUN" />
        </form>
        <hr>
        <div><?php echo $res ?></div>
    </body>
</html>

下载:http://files.cnblogs.com/zjfree/php_run.rar

PHP 动态执行

时间: 2024-07-28 22:01:01

PHP 动态执行的相关文章

MySQL之视图、存储过程、触发器、函数、事务、动态执行SQL

视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 创建视图: create view v1 as select * from student where id > 100; 今后可以直接通过: select * from v1;   #直接访问学生ID大于100的信息 删除视图: drop view v1; 修改视图: alter view v1 as select id,name f

mysql 字符串分割 和 动态执行拼接sql

本人以前主要用的是MSSQL,最近项目在使用MYSQL,自己是一个 典型的小白.今天就记录一下 一个mysql存储过程,里面需要分割字符串和 动态执行sql语句. 关于字符串 分割我开始使用 LOCATE 和Position来做,不知道在proc 里面有时候报错,单独的查询有可以.后来在网上 找了一个 Mysql存储过程中字符串分割文章, 很多地方都推荐使用  SET @result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(plate_

Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题

使用PL/SQL时, 每次第一次打开表的时候会提示"动态执行表不可访问,本会话的自动统计被禁止"的错误,一消息如下: V$SESSION,V$SESSTAT,V$STATNAME没有被授权,没有权限访问这几张表,所以没有本法进行统计. 当然要给授权了.授权SQL如下: sqlplus /nolog 进入登录页面,然后执行conn /as sysdba   登录到sys用户 用SYS登录,授权给相应的用户,用下面的语句 grant select on v_$statname to sco

Python Special Syntax 12: 伟大的动态执行

exec语句用来执行动态的Python语句 exec 'print "Hello World"'输出: Hello World eval用来计算表达式: eval('2*3') 结果:6 Python Special Syntax 12: 伟大的动态执行,布布扣,bubuko.com

Javascript动态执行JS(new Function与eval比较)

new Function与eval可以动态执行JS,只要把拼接好的JS方法,然后以字符串的形式传入到这两个函数,可以执行,其中new Function用在模板引擎比较多. 参考:http://www.jb51.net/article/35642.htm

LSQL,第一次执行表的select操作的时候,提示&quot;动态执行表不可访问,本会话的自动统计被禁止&quot;

使用PLSQL,第一次执行表的select操作的时候,提示"动态执行表不可访问,本会话的自动统计被禁止" 这种问题,一看就是当前连接用户没有对sys用户下的表v$session,v$sesstat,v$statname的select权限 解决此问题的方式就是授权: 以sysdba身份登录 grant select on v_$statname to username;grant select on v_$sesstat to username;grant select on v_$se

C# 动态执行批处理命令

本文转载:http://www.cnblogs.com/lenic/p/4097045.html C# 动态执行一系列控制台命令,并允许实时显示出来执行结果时,可以使用下面的函数.可以达到的效果为: 持续的输入:控制台可以持续使用输入流写入后续的命令 大数据量的输出:不会因为大数据量的输出导致程序阻塞 友好的 API:直接输入需要执行的命令字符串即可 函数原型为: /// <summary> /// 打开控制台执行拼接完成的批处理命令字符串 /// </summary> /// &

sqlserver 存储过程中拼接sql语句 动态执行

ALTER PROC [dbo].[Student_Friend_Get] @startRowIndexId INT, @maxNumberRows INT, @schoolId INT, @gradeId INT, @cId INT, @keyWords NVARCHAR(100), @userName VARCHAR(50) AS BEGIN DECLARE @sqlfilter VARCHAR(max) SET @sqlfilter = ' ' IF(@schoolId <> -1) S

动态执行语句

一.为什么要使用动态执行语句? 由于在PL/SQL 块或者存储过程中只支持DML语句及控制流语句,并不支持DDL语句,所以Oracle动态执行语句便应允而生了.关于DDL与DML的区别,请参见:DDL语句与DML语句及DCL和TCL. 二.动态执行语句怎么用? 动态执行语句代替了Oracle 8i中的DBMS_SQL Package包. 1)在PL/SQL中运行SQL语句,例如: 示例一: BEGIN               EXECUTE IMMEDIATE 'select count(u

Java动态执行计算表达式利器 -- ScriptEngine

在通过配置文件对系统进行参数配置时,有时需要更好的理解参数值的具体意义,往往采用计算表达式的方式设置,例如1天换成秒数为86400,如果写成24 * 60 * 60就很清晰的表达是一天的秒数.但是这个表达式通过properties的方式获取为字符串,这里就需要动态计算这个表达式. ScriptEngine这个对象专门用来处理动态执行表达式,主要调用其eval方法动态执行(类似于javascript中的eval方法),其返回结果为object对象:针对计算表达式的返回结果是double类型,所以这