Thinkphp5.0上传图片与运行python脚本

这里只体现了php可以通过批处理文件调用python脚本的效果

控制器代码

访问路径为127.0.0.1/index/index/upload.

index模块,index控制器,upload方法。

<?php
namespace appindexcontroller;
use thinkRequest;
class Index extends 	hinkController
{
    // 文件上传表单
    public function upload()
    {
        return $this->fetch();
    }
    // 文件上传提交
    public function up(Request $request)
    {
        // 获取表单上传文件
        $file = $request->file('file');
        if (empty($file)) 
        {
            $this->error('请选择上传文件');
        }
        // 移动到框架应用根目录/public/uploads/ 目录下
        $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
        if ($info) 
        {
            system('1.bat', $retval);
            $this->success('文件上传成功:' . $info->getRealPath());
        } 
        else 
        {
            // 上传失败获取错误信息
            $this->error($file->getError());
        }
    }
}

上传界面

展开代码复制粘贴

位置:application/index/view/upload/index.html

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>文件上传示例</title>
    <style>
    body {
    font-family:"Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size:16px;
    padding:5px;
    } .
    form{
    padding: 15px;
    font-size: 16px;
    }
    .form .text {
    padding: 3px;
    margin:2px 10px;
     240px;
    height: 24px;
    line-height: 28px;
    border: 1px solid #D4D4D4;
    } .
    form .
    btn{
    margin:6px;
    padding: 6px;
     120px;
    font-size: 16px;
    border: 1px solid #D4D4D4;
    cursor: pointer;
    background:#eee;
    } .
    form .
    file{
    margin:6px;
    padding: 6px;
     220px;
    font-size: 16px;
    border: 1px solid #D4D4D4;
    cursor: pointer;
    background:#eee;
    }
    a{
    color: #868686;
    cursor: pointer;
    } a:hover{
    text-decoration: underline;
    } h2{
    color: #4288ce;
    font-weight: 400;
    padding: 6px 0;
    margin: 6px 0 0;
    font-size: 28px;
    border-bottom: 1px solid #eee;
    } div{
    margin:8px;
    } .
    info{
    padding: 12px 0;
    border-bottom: 1px solid #eee;
    }
    .copyright{
    margin-top: 24px;
    padding: 12px 0;
    border-top: 1px solid #eee;
    }
    </style>
</head>
<body>
    <h2>文件上传示例</h2>
    <FORM method="post" enctype="multipart/form-data" class="form" action="{:url('up')}">
    选择文件:<INPUT type="file" class="file" name="file"><br/>
    <INPUT type="submit" class="btn" value=" 提交 ">
    </FORM>
    <div class="copyright">
    <a title="官方网站" href="http://www.thinkphp.cn">ThinkPHP</a>
    <span>V5</span>
    <span>{ 十年磨一剑-为API开发设计的高性能框架 }</span>
    </div>
</body>
</html>

批处理文件

说明批处理文件路径与python脚本大致路径:C:xampphtdocsserverpublic

意即cmd的初始路径在该路径下。

批处理内容:

名称为1.bat

python "./prj - 2 - Beta/main.py"

python脚本路径内容:

路径:C:xampphtdocsserverpublicprj - 2 - Beta

内容:

import myUI
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
class MyWindow(QMainWindow, myUI.Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)
        self.setupUi(self)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.aboutToQuit.connect(app.deleteLater)
    myWin = MyWindow()
    myWin.show()
    sys.exit(app.exec_())
原文地址:https://www.cnblogs.com/bai2018/p/11316783.html