2013-08-27 55 views
3

考慮下面的代碼tar工具,PHP和exec

echo "tar -cvf $outpath -C $path $file<br>"; 
$arr = array(); 
$val = exec("tar -cvf $outpath -C $path $file", $arr); 
var_dump($arr); 

echo輸出tar -cvf ../folder/subfolder1/1234.tar -C ../folder/ subfolder2和該命令真正創建歸檔,如果我把它叫做命令行從htdocs文件夾。然而,exec無所作爲。 var_dump($arr)打印空數組。所以這裏有問題

  1. 我怎樣才能使exec創建檔案?
  2. 爲什麼輸出空數組?

UPD。請注意,我正在運行windows。

+0

'shell_exec('....')'也許? http://stackoverflow.com/questions/2173443/php-shell-tar-problem-return-code-2 – DrColossos

+0

@ DrColossos,'shell_exec'輸出什麼也沒有:( – Eugeny89

回答

3

對於那些會讀到這個問題的人:添加2>&1到命令幫助。而我用shell_exec代替鞋底

$val = shell_exec("tar -cvf $outpath -C $path $file 2>&1"); 
echo "$val"; // prints output from tar