Запуск bash-скрипта в PHP после загрузки документа - PullRequest
0 голосов
/ 04 июня 2019

Мне нужно руководство для этого проекта, над которым я работаю. У меня есть скрипт, где он обрабатывает данные, и я хочу использовать его на сервере.

Как мне интегрировать команду для запуска моего script.sh, расположенного в ProcessedData /, пожалуйста?

Спасибо

<?php
   if(isset($_FILES['file'])){
      $errors= array();
      $file_name = $_FILES['file']['name'];
      $file_size =$_FILES['file']['size'];
      $file_tmp =$_FILES['file']['tmp_name'];
      $file_type=$_FILES['file']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['file']['name'])));

  $extensions= array("log");

  if(in_array($file_ext,$extensions)=== false){
     $errors[]="extension not allowed, please choose a log file.";
  }

  if($file_size > 2097152){
     $errors[]='File size must be excately 2 MB';
  }

  if(empty($errors)==true){
     move_uploaded_file($file_tmp,"ProcessedData/".$file_name);
     echo "Success";
  }else{
     print_r($errors);
  }
   }
exec(parsing.sh);
?>

  <form action="" method="POST" enctype="multipart/form-data">
     <input type="file" name="file" />
     <input type="submit"/>
  </form>

Вот выдержка из моего сценария:

#!/bin/bash

grep -w BLABLABLA ProcessedData/ant_traps.log > result.csv

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Здесь решение

<?php
   if(isset($_FILES['file'])){
      $errors= array();
      $file_name = $_FILES['file']['name'];
      $file_size =$_FILES['file']['size'];
      $file_tmp =$_FILES['file']['tmp_name'];
      $file_type=$_FILES['file']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['file']['name'])));

  $extensions= array("log");

  if(in_array($file_ext,$extensions)=== false){
 $errors[]="extension not allowed, please choose a log file.";
  }

  if($file_size > 2097152){
 $errors[]='File size must be excately 2 MB';
  }

  if(empty($errors)==true){
     move_uploaded_file($file_tmp,"ProcessedData/".$file_name);
     echo "Success";
  }else{
     print_r($errors);
     }
       }
echo shell_exec('sh parsing.sh');
?>
0 голосов
/ 04 июня 2019

Вы можете использовать exec(scriptName) для выполнения любого скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...