无法使用通过PHP执行的TCL创建文件

时间:2009-08-28 06:36:58

标签: php tcl wamp

我有一个执行TCL脚本的PHP脚本。 TCL脚本创建了一个文件,但是当我通过PHP(来自浏览器)执行时,tcl无法创建文件。

任何人都可以指导我。

// PHP代码

<?php

$app = 'tclsh84';
$descriptorspec = array(
0 => array("pipe","r"),
1 => array("file","C:/wamp/www/tcl/bin/out.txt","w"),
2 => array("file","C:/wamp/www/tcl/bin/error.txt","w")
) ;
$process = proc_open($app, $descriptorspec, $pipes);
if (is_resource($process)) 
{
 fwrite($pipes[0], 'source c:/wamp/www/tcl/bin/show.tcl'."\n");
 fwrite($pipes[0], ' status 124 mithun '."\n");
fclose($pipes[0]);
proc_close($process);
}
?>

// TCL代码

proc status {id uname} {
set x 1
set outfile [open "report.txt" w]
while {$x < 30} {
set systemTime [clock seconds]
puts $outfile "The time is: [clock format $systemTime -format %H:%M:%S] "
 puts $outfile "$id $uname "
 set x [expr {$x + 1}]
 }
 close $outfile 
 }

未创建.f文件report.txt。

1 个答案:

答案 0 :(得分:2)

查看您的TCL代码,它正在尝试创建一个名为report.txt的文件,但是您没有指定目录结构中创建它的位置。所以我认为它将尝试在Web服务器设置为主目录的任何目录中创建该文件。

更改TCL脚本中的文件名,将文件放在您知道可以写入的位置,看看是否能解决您的问题。