DeTechn Blog

PHP行执nodejs

/**
 * 运行js 仅在node环境下
 * 参数 jsFile  js文件名
 * 参数 v       要传递的参数
 * 参数 path    js目录
 * by:LingMax
 */
function js_node($jsFile,$v,$path = './JsDecrypt/')
{
    $cmd = 'node "' . realpath($path.'node_api.js');
    $cmd .= '" "' . realpath($path.$jsFile).'" "'.$v.'"';
    return exec($cmd);

}
/**
 * 运行js 仅在win平台下
 * 参数 jsFile  js文件名
 * 参数 exec    要传递的参数
 * 参数 path    js目录
 * by:LingMax
 */
function js_run($jsFile,$v,$path = './JsDecrypt/')
{
    $oScript = new \COM("MSScriptControl.ScriptControl");#创建com组件
    $oScript->Language = "JavaScript";#设置脚本类型
    $oScript->AllowUI = false;#不显示提示框
    $code = file_get_contents($path.$jsFile);
    
    #编码自动转换
    $bm = 'GB2312';
    $encode=mb_detect_encoding($code,array("ASCII","UTF-8","GB2312","GBK","BIG5"));
    if ($encode != $bm and $encode !="GB2312"){
        $code=mb_convert_encoding($code,$bm,$encode);
    }

    $oScript->AddCode($code);#添加js代码 只支持gbk格式文本
    return $oScript->Run("eval", 'tmd("'.$v.'")');#运行代码
}

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »