<img src="{:captcha_src()}" alt="captcha" /> 'captcha' => [ 'fontSize' => 18, 'imageH' => 30, 'imageW' =>100, 'length' => 5,
首先我们了解一下数据库的锁,数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性, (注意事项:首先,数据库类型要是InnoDB,其次,加锁必须跟事务同时
//模拟登录 // $admin = 0; // if($admin != 10){ // //页面跳转 // $this->success('登录失败','login/index'); // $this->error('登录失败'); // $this->redirect('login/i
一、比较标签如: {比较标签 name="变量" value="值"} 内容 {/比较标签} {eq name="name" value="value"} 相等 {else/} 不相等 {/eq} 二、判断标签 1、SWITCH标签 {switch name="变量" } {case value="值1|值3" break="0或1"}输出内容1{/case
解决的方法 ob_end_clean(); header('Content-type:application/pdf');//下载的文件类型信息 header('Content-Disposition: attachment; filename=name'); header('Content-Length:'.filesize($file)); //内容长度 ob_start(); echo fil
PHPWORD使用文档 一:引入 tp5.0,tp5.1: 1:composer方式(推荐) a:根目录下执行:composer require phpoffice/phpword b:引入: use PhpOffice\PhpWord\PhpWord; 2:下载引入方式 a:下载PHPWord: 地址:https://pan.baidu.com/s/19UctPmT5tdn0SqrEgM56MA 提取码:zxcv b:放到项目根目录extend文件夹下,目
QQ 1274510382 Wechat JNZ_aming 商业联盟 QQ群538250800 技术搞事 QQ群599020441 解决方案 QQ群152889761 加入我们 QQ群649347320 共享学习 QQ群674240731 纪年科技aming 网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。 叮叮叮:产品已上线 —>关注 官方认证-微
消费信息如下ThinkPHP5 Queue消息队列 优点 1、Queue内置了 Redis,Database,Topthink ,Sync这四种驱动,本文使用Redis驱动 2、Queue消息队列适用于大并发或者返回结果 时间有点长并需要批量操作的第三方接口,可用于短信发送、邮件发送、APP推送 3、Queue消息消息可进行发布,获取,执行,删除
private $appId = '微信appid'; private $appSecret = '微信appSecret '; //获取分享配置 public function config() { $jsapiTicket = $this->getJsApiTicket(); // 注意 URL 一定要动态获取,不能 hardcode. $protocol = (!empty($_SERVER['HTTPS']) &&
//模拟登录 // $admin = 0; // if($admin != 10){ // //页面跳转 // $this->success('登录失败','login/index'); // $this->error('登录失败'); // $this->redirect('login/i
* 使用助手函数不需要引入request类 * */ //判断请求类型 // Request::instance()->isPost(); // request()->isPost(); //判断变量是否设置 // Request::instance()->has('变量名','提交方式'); // reques
找到TP5框架上传文件命名方法,/thinkphp/library/think/File.php文件,buildSaveName方法(第394行); // $savename = date('Ymd') . DS . md5(microtime(true)); 改为: $savename = date('Ymd') . DS . md5(uniqid(md5(micro
思路: 小程序登录获取code,将code传到后台; 后台用code得到微信用户id,即openid,将openid存储在用户表中,完成绑定 登录时,再次获取code并传给后台,得到openid,若用户表中存在,便可直接登录 以下仅是代码片段,更多代码在[Github](https://github.com/Hongchenglong/CQCQ back_end/applicati
数据验证 $rule = [ 'name' => 'require|max:25', //名称长度25以内 'age' => 'number|between:1,120', //年龄在1-120范围内 'email' => 'email',]; //邮箱为邮箱格式 $msg = [ 'name.require
TP5-程序设计目录对应关系F:\\PHP├─index.php 入口文件├─README.md README文件├─Application 应用目录├─Public 资源文件目录└─ThinkPHP 框架目录 thinkphp 的目录结构ThinkPHP 的目录结构非常清晰和容易部署
// 是否为 GET 请求 if (request()->isGet()) echo "当前为 GET 请求"; // 是否为 POST 请求 if (Request::instance()->isPost()) echo "当前为 POST 请求"; // 是否为 PUT 请求 if (Request::instance()->isPut()) echo "当前为 PUT 请求"; // 是否为 DELETE 请求 if (R
namespace app\admin\controller;//命名空间是和这个文件所在位置相对应 use think\Controller; use think\db\Query; class index extends Controller//继承tp框架的方法。控制器名称是与视图文件view 下的index 相同 { public function aa()//方法名称是与
// 获取当前请求的name变量 Request::instance()->param('name');// 获取当前请求的所有变量(经过过滤) Request::instance()->param();// 获取当前请求的所有变量(原始数据) Request::instance()->param(false);// 获取当前请求的所有变量(包含上传文件) Request::instance()->param(t
使用\think\Db类 查询一条数据使用 Db::table('think_user')->where('id',1)->find();查询多条数据使用 Db::table('think_user')->where('status',1)->select(); 查询某一列的值可以用 // 返回数组 Db::table('think_user')->where(
// $data=['type'=>'专辑']; 构造数据 // db('book')->insert($data); 添加 // Db::name('book')->insert($data); // $userId = Db::name('book')->getLastInsID();添加主键id // $id = db('book
简单使用: 自带控制器没有继承任何的基础类,使用时可以继承官方封装的\think\Controller类。 通过url访问此控制器下的某个方法: 通过控制器如何进入view页面 在controller文件夹同级新建view文件夹,在view下新建文件夹index,此文件名与控制器下index.php文件的名称相同,再在index文件
1、先把composer调成国内镜像: composer config -g repo.packagist composer https://packagist.phpcomposer.com 不更换也行,但是很慢,建议更换 2、进项目根目录(不是public) composer require workerman/gateway-worker
方法一:一般情况 return $this->fetch( ); 方法二:当需要找到公共文件夹的时候;在view下新建一个文件夹 return $this->fetch('/common\head'); // 这样写就可以了 方法三:当需要找到公共文件夹的时候;直接把html1文件放在view下面 return $this->fetch('c
源程序+sql传送门 在线测试效果 说明:后台地址:http://rjgc.cxyepoch.cn/admin 账号:user 密码:123456 本系统功能由tp5开发,前端为jQuery+Ajax构建验证,采用MVC架构,对业务逻辑、数据、界面进行分离组织。 难点在于:初学者Ajax的前端与后端的数据传输、后端对附件和图片的处理。
场景: 使用模型去select查询后进行业务处理 再进行 saveAll 提示缺少更新条件 坑点:此时取出的数据结构是 对象数组 { array:[ xxxx => xxx ] }: saveAll 需要的是二维数组 解决法; $data 为模型查出的