Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从php按钮运行bash代码_Javascript_Php_Linux - Fatal编程技术网

Javascript 从php按钮运行bash代码

Javascript 从php按钮运行bash代码,javascript,php,linux,Javascript,Php,Linux,我想通过PHP在Linux服务器上测试4个文件,显示结果应该显示在文本区。让我知道解决这个问题的正确方法 Sh test_batch.Sh $ {dict_file} $ {locale} $ {keyboard_layout} $ {golden_test_file} $ {auto_correction_file} (optional) if(isset($\u POST['files'])){ foreach($\u POST['files']作为$value){ 回显$dir.$v

我想通过PHP在Linux服务器上测试4个文件,显示结果应该显示在文本区。让我知道解决这个问题的正确方法

Sh test_batch.Sh

$ {dict_file} $ {locale} $ {keyboard_layout} $ {golden_test_file} $ 
{auto_correction_file} (optional)

if(isset($\u POST['files'])){
foreach($\u POST['files']作为$value){
回显$dir.$value.“
”; $result=shell_exec('sudo sh test_batch.sh$dir.$value'); } }否则{ 退出(“未选择任何文件”); } } ?>
要显示和保存的结果: `
首先,您应该避免在web脚本中使用sudo做任何事情。如果有人决定在您的$\u帖子中向您的服务器提供字符串“&&rm-rf/”,并将其连接到您的sudo sh test\u batch.sh$dir.$value字符串中,该怎么办?那将是非常糟糕的一天

相反,考虑将任何TestBo.StH.SH执行到处理请求排队的某种工作脚本(您可以在Perl、PHP、No.js中这样做……有几种方式。

 if (isset($_POST['files'])) {
 foreach ($_POST['files'] as $value) {
 echo $dir . $value . '<br />';
 $result = shell_exec('sudo sh test_batch.sh $dir .$value. ');

  }
  }else {
  exit('No files selected');
  }
  }
   ?>
                            <br/>
                            <table>
                             <tr>
                    <td><b>Result to Display and Save:</b></td></tr>
            <tr>
                    <td colspan="3">
                    <textarea disabled id="inputTextToSave"  style="width:512px;height:256px" value = "'.$result.'"></textarea>`