2009-08-28 7 views
0

J'ai un script PHP qui exécute un script TCL. Le script TCL crée un fichier, mais lorsque j'exécute via PHP (à partir du navigateur), tcl n'est pas capable de créer un fichier.Impossible de créer un fichier en utilisant TCL, qui est exécuté via PHP

Quelqu'un peut-il me guider.

// Code 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); 
} 
?> 

// Code 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 
} 

fichier Thef report.txt n'est pas créé.

+0

qu'est-ce qu'il y a dans error.txt? –

Répondre

2

En regardant votre code TCL, vous tentez de créer un fichier appelé report.txt, mais vous ne spécifiez pas où il se trouve dans la structure du répertoire. Je pense donc qu'il va essayer de créer le fichier dans n'importe quel répertoire que votre serveur web a défini comme répertoire de base.

Modifiez le nom du fichier dans le script TCL pour placer le fichier dans un endroit où vous savez qu'il peut être écrit et voir si cela résout votre problème.

Questions connexes