php - 上传文档后在 PHP 中运行 bash 脚本
问题描述
我需要一些关于我正在从事的项目的指导。我有一个处理数据的脚本,我想在服务器上使用它。
请问如何集成命令来运行位于 ProcessedData/ 的 script.sh?
谢谢
<?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
解决方案
您可以使用它exec(scriptName)
来执行任何脚本。
推荐阅读
- graphql - 嵌套的 Graphql 输入对象类型
- r - 如何找到非线性回归模型的起始值?
- facebook - 为什么在调用 FB.logout() 并刷新页面后我看不到 FB 登录屏幕?
- java - 处理聊天活动中的图像视图位置
- scala - Circe 从蛇盒键中解析 json
- android - 如何在 Android Studio 3.3 上修复“错误:未找到 Gradle DSL 方法”
- photoshop - 如何更改多个元素或画板中的颜色?
- flutter - 如何导航并将数据传递到其他屏幕?还需要从后台堆栈中清除该屏幕
- java - 参数化接口中的方法类型被删除,而该类型与参数化接口没有连接。为什么?
- python-3.x - KeyError:Flask-restplus 中的“view_class”。路由不工作