调用Python脚本
方法一: $info=exec("python位置 脚本位置 脚本多个参数 ")
二: exec("python位置" 脚本位置 脚本多个参数
Linux 例:
exec("/usr/bin/python $docker_path $container_id 2>&1",$result,$info);
// $result 返回结果 或者 可以输出错误信息 因为 2>&1
// $info 返回错误信息
Win 实:
exec("C:/python" D:/python.py $name $id")
Python脚本实例:
def runContainerById(name,ip):
print(id2) //返回参数
if __name__ == '__main__':
runContainerById(sys.argv[1],sys.argv[2])
数组规范
$arr=array();
$i='0';
$j='2';
$arr[] = $i;
$arr[] = $j;
print_r($arr); //输出 Array ( [0] => 0 [1] => 2 )
$arr=array();
$i='0';
$j='2';
$arr = $i;
$arr = $j;
print_r($arr); //输出 2
//不带[]括号,是把整个变量给替换了
默认路径
ThinkPHP 默认路径伪 项目名/index.php/Home/Index/index
conf.php中的配置
<?php
return array(
//'配置项'=>'配置值'
'URL_MODEL' => 1,
// 'URL_DENY_SUFFIX' => 'html', 禁止指定伪静态
'URL_HTML_SUFFIX' => '', //指定伪静态为空
'TMPL_PARSE_STRING' =>array( //定义前端常量
'__ADMINS__' => 'adminceefsdfs', //这是必须在前端使用,否则无效
'__DOCKER__' => 's',
),
define('CONTROLLER_DOCKER_PATH','hujing2'),
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'experiment', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '123456', // 密码
'DB_PORT' => '3306', // 端口
'DB_CHARSET' => 'utf8',
//'DB_PREFIX' => '', // 数据库表前缀
);
强制跳转,
Controller 中的方法直接输入
echo "<script> top.location.href='http://www.baidu.com' </script> ";
实例化带_下划线的Model
$model=new \Home\Model\Docker_containerModel();
伪静态
'URL_HTML_SUFFIX'=> 'html' //设置伪静态: html
__EXT__ 获取当前伪静态
'URL_DENY_SUFFIX' => 'pdf|ico|png|gif|jpg' //禁止此伪静态
常见操作数据库
$this->success('新增成功', '/User/index');
//设置成功后跳转页面的地址,默认的返回页面是$_SERVER['HTTP_REFERER']
//获取上一个页面地址
$this->error('新增失败'); //错误页面的默认跳转页面是返回前一页,通常不需要设置
//即上一个页面
// javascript:history.back(-1);
$this->success('成功或者失败',5) // 修改了时间,将没有默认跳转
//会放回上一个方法
//如果上衣个方式是提交,可能会死循环
查询数据库,字段大小写问题
//修改配置文件,可指定 select字段大小写
ThinkPHP\Library\Think\Db\Driver.class.php
//PDO::ATTR_CASE (integer) 用类似 PDO::CASE_* 的常量强制列名为指定的大小写。(8)
PDO::CASE_NATURAL (integer) 保留数据库驱动返回的列名。(0)
PDO::CASE_UPPER (integer) 强制列名大写。(1)
PDO::CASE_LOWER (integer) 强制列名小写。(2)
Waring: 设计数据库适合,一定要将字段名设置为小写
//Excel导出文件时候,因为查的一个为大写,一个为小写 不匹配,将会导出不完成
返回Model执行的sql语句
echo $model->_sql();
Model查询Where条件
$this->where($info) //默认为数组条件为 AND
$info['_logic']="OR"; //改为OR