专栏首页嘘、小点声Thinkphp5.0上传图片与运行python脚本

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

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

控制器代码

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

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

<?php
namespace app\index\controller;
use think\Request;
class Index extends \think\Controller
{
    // 文件上传表单
    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());
        }
    }
}

上传界面

展开代码复制粘贴

<!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;
    width: 240px;
    height: 24px;
    line-height: 28px;
    border: 1px solid #D4D4D4;
    } .
    form .
    btn{
    margin:6px;
    padding: 6px;
    width: 120px;
    font-size: 16px;
    border: 1px solid #D4D4D4;
    cursor: pointer;
    background:#eee;
    } .
    form .
    file{
    margin:6px;
    padding: 6px;
    width: 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:\xampp\htdocs\server\public

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

批处理内容:

名称为1.bat

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

python脚本路径内容:

路径:C:\xampp\htdocs\server\public\prj - 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_())

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Thinkphp5.0快速入门笔记(1)

    https://www.kancloud.cn/thinkphp/thinkphp5_quickstart

    嘘、小点声
  • python网络爬虫(12)去哪网酒店信息爬取

    本次使用简易的方案,模拟浏览器访问,然后输入字段,查找,然后抓取网页中的信息。存储csv中。然后再转换为Excel,并对其中的数据进行二次处理。

    嘘、小点声
  • tensorflow零起点快速入门(3)

    运行数据的另一种方法是使用eval(),括号里面添加session部分,否则失效报错:

    嘘、小点声
  • Hexo 博客美化代码块

    最近有人问我博客的代码块是怎么做的,如下面的代码块,然后好久没有写文章了,趁着周末有时间就水一篇吧~

    ihoey
  • 3D盒子动画

    ---------------------------------------------------------

    py3study
  • FF下修改美化文件域(input type=file)的样式

    有兄弟问我修改美化文件域(input type=file)在FF下的样式,暂时没看兼容.也没美化.等到了上海安定好了再好好修改下 <!DOCTYPE html ...

    练小习
  • WordPress免插件仅代码实现“返回顶部、返回底部、评论”效果(样式一)

    本文所说的”返回顶部、返回底部、评论 “相信你知道是什么东东了吧?  一般你在各大网站的右下角都能看到类似的东东,但许多网站都普遍只有“返回顶部”的效果。不过就...

    Jeff
  • 「实用小技巧」如何在WordPress网站添加动态友链的代码分享

    先解释一下,这个【动态友链】主要是我为了方便取的名字,估计没有人知道这个功能叫什么,也没有专门的称呼,所以我们给他命名为动态友情链接;最近看到很多wp程序的博客...

    wordpress建站吧
  • js检测图形碰撞笔记

    图形平面碰撞的检测方式就是判断点是否同时在两个对象中。比如这个笔记中的例子 <!DOCTYPE html> <html> <head> <title>i...

    练小习
  • 动态内容的等高布局实现

    首先不同内容的固定高度等高布局没有任何难度,本文讲的不是这种。本文讲的是,不同行级或者浮动元素具有不定高度时,将其他元素的高度填充为最大高度元素的高度这种场景。

    RobinsonZhang

扫码关注云+社区

领取腾讯云代金券