我需要从PHP执行TCL脚本。目前我使用以下代码如何从php执行tcl脚本?
<?php
echo passthru("tclsh83 Testcases/source.tcl ");
?>
这是行得通的。但是这会为每个呼叫创建一个shell。我如何打开一个shell并且从TCL脚本来回通信。任何指针将不胜感激。
问候, 大额牛
我需要从PHP执行TCL脚本。目前我使用以下代码如何从php执行tcl脚本?
<?php
echo passthru("tclsh83 Testcases/source.tcl ");
?>
这是行得通的。但是这会为每个呼叫创建一个shell。我如何打开一个shell并且从TCL脚本来回通信。任何指针将不胜感激。
问候, 大额牛
如果你有大量的数据发送到TCL脚本,你可以打开阅读并proc_open()
写管道。然后,在tcl脚本中,使用gets stdin varname
从标准输入读取一行。
我认识了从PHP脚本值传递给TCL脚本中继( “tclsh83测试用例/ source.tcl $ ARG1 $ ARG2”)的方式; //命令行参数是否有更好的方法来执行TCL脚本?谢谢,大额牛
那么,什么是错的这种方式?如果您始终只传递2个参数并且它们来自可信来源,那么这是最好的方法。如果没有,您可以有一个参数数组,使用escapeshellarg(),join()将它们转义并将结果放入命令字符串中。例如:
$params = array(/* <...> */);
echo passthru('tclsh83 Testcases/source.tcl ' .
join(' ', array_map('escapeshellarg', $params)));
我已经知道如何将值从php脚本传递到TCL脚本 passthru(“tclsh83 Testcases/source.tcl $ arg1 $ arg2”); //命令行参数 有更好的方法来执行TCL脚本吗? 谢谢, Mithun – Vidya 2009-08-20 05:06:11