首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPAGI中的Asterisk函数

PHPAGI中的Asterisk函数
EN

Stack Overflow用户
提问于 2015-11-11 19:25:24
回答 2查看 735关注 0票数 1

我想在PHPAGI中使用一个星号函数"IFTIME“。以下语法在Dialplan中运行正确,但我一直在尝试使其在PHPAGI中运行。

代码语言:javascript
复制
exten => 1234,1,Set(foo=${IFTIME(16:00-21:00,*,*,*?true:false)})

exten => 1234,2,NoOp(${foo})

到目前为止,在PHPAGI中,我所做的是

**我正在使用AGISPEEDY框架,它使用PHPAGI

代码语言:javascript
复制
$agi->agi_exec('Set','fo o=${IFTIME(*,*,*,*?true:false)}');

$result = $agi->get_variable('foo');

$agi->verbose($result);

-结果

代码语言:javascript
复制
Array(

    [code] => 200

    [result] => 1

    [data] => ${IFTIME(*,*,*,*?true:false)}

)

上面的命令将函数设置为字符串。我试着改变

这个:$agi->agi_exec('Set','foo=${IFTIME(*,*,*,*?true:false)}');

收件人:$agi->set_variable('foo','${IFTIME(*,*,*,*?true:false)}');

但结果是一样的,它将${IFTIME(*,*,*,*?true:false)}保存为字符串。

任何关于如何从PHPAGI运行像IFTIME这样的星号函数的帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2015-11-12 00:29:57

如果您使用函数,则必须使用get_full_variable。

票数 0
EN

Stack Overflow用户

发布于 2015-11-24 05:19:53

你试图通过在火星上着陆一艘火箭船来飞向月球,你所做的是毫无意义的。

您已经在PHP脚本中了,只需在PHP中模拟相同的IFTIME检查即可。因此,在您的示例中,我将把agi_exec命令替换为以下内容:

代码语言:javascript
复制
    $current_timestamp = time();
    $current_time = (int)date("Hi", $current_timestamp);
    if (($current_time > 1600) && ($current_time < 2100)) {
       .. Do some cool PHP here ..
    }

这个片段没有经过调试,所以它可能不会像您想象的那样工作,但您已经明白了这一点。

PHPAGI和AGI通常都是很棒的工具-如果使用得当的话。您正在尝试利用Dialplan函数/应用程序来执行一些通常在PHP中执行的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33649537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档