ThinkPHP5

  • 获取指定目录下的所有图片信息

    1 获取指定目录下的所有图片信息// 获取指定目录下的所有图片信息 public function getImagesInfo($directory) { $images = []; // 创建递归目录迭代器 $iterator = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($directory, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY ); // 遍历目录中的每个文件 foreach (

  • Thinkphp5.1路径常量

    1 配置文件位置根目录/config/template.php2 配置文件内容<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reser

  • Thinkphp5.0路径常量

    1 配置文件位置根目录/application/模块名/config.php2 配置文件内容<?php//配置文件return [ // 后台视图输出字符串内容替换 'view_replace_str' => [ '__PUBLIC__' => '/', '__STATIC__' => '/static', '__CONSOLE__' => '/static/console', '__CONSOLE_CSS__' => '/static/console/css', '__CONSOLE_IMAGES__' => '/static/console/ima

  • traits按钮

    <?phpnamespace app\admin\traits;use think\facade\Session;use think\Db;// 按钮操作类trait BtnTrait { /** * 显示删除按钮 * @param string $route 操作路径,格式:控制器/方法 * @param int $id 数据ID */ public function deleteButton($route, $id) { // 检测参数 if (empty($id) || empty($route)) { return ''; } $bool = $this->getUserA

  • Thinkphp5.1多域名配置

    1 多域名配置简介多域名配置就是一个项目,配置有多个域名,每个域名,对应一个模块。2 多域名配置过程1)首先,把域名解析到指定的服务器IP,然后在宝塔里面的指定项目,添加域名,如下:2)接着,在项目的public/index.php入口文件添加如下的配置:// 多域名配置switch ($_SERVER['HTTP_HOST']) { case 'www.cyanhui.com': $model = 'home'; // home模块 break; case 'cyanhui.com': $model = 'home'; // home模块 break; case 'site1.cyanhui

  • ThinkPHP5上传图片至七牛云

    1 下载官方PHP SDK文档网址:https://developer.qiniu.com/kodo/sdk/1241/php#9# 使用composer安装qiniu/php-sdk# 安装sdk。安装即可使用composer require qiniu/php-sdk2 创建配置文件位置app/extra/qiniu.phpreturn [ 'ak' => '********************', // id 'sk' => '********************', // 秘钥 'bucket'=> '******', // 要上传的空间 'image_url

  • 路由分组

    1 不带分组名形式1:http://域名.com/search.html形式2:http://域名.com/ detail/1.html  Route::group('', function () { // 详情 Route::get('detail/:id', 'home/Article/detail'); // 搜索 Route::get('search', 'home/Article/search');})->ext('html');2 附带分组名形式1:http://域名.com/home/search.html形式2:http://域名.com/home/d

  • tp5.0基于Redis的think-queue的基本用法

    步骤1:安装topthink/think-queuecomposer require topthink/think-queue:v1.1.6步骤2:配置队列连接信息application/extra/queue.phpreturn [ //'connector' => 'Sync' 'connector' => 'redis', // 队列驱动使用 redis 推荐, 可选 database 'host' => '127.0.0.1', // redis 主机地址 'password' => 'xiaotao', // redis 密码 'port' => 637

  • tp5.1基于Database的think-queue的基本用法

    1 步骤1:创建测试表首先,在数据库中创建如下的两张表,tp51_test表用于保存要处理的数据,tp51_jobs表用于保存信息队列信息,tp51_jobs表各个字段名不能更改,也不能删除,tp51_test表则可以修改字段名或删除字段名。// 测试表CREATE TABLE `tp51_test` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID序号', `order_no` varchar(50) NOT NULL COMMENT '订单号', `msg` varchar(255) NOT NULL COMMENT '

  • ThinkPHP5生成网站xml地图方法

    1 什么是网站xml地图?网站地图对于SEO非常重要,在网站中加入网站地图有利于搜索引擎蜘蛛的抓取和收录。2 怎样生网站地图?我们可以通过SEO管理工具或者网站地图在线生成工具,但每次都通过SEO工具去抓取生成网站地图,这样很麻烦,现在教大家另一种方法,使用以下方法生成xml地图,该方法会在网站更目录生成sitemap.xml地图,生成标准的网站地图格式,然后我们在后台点击下更新即可更新网站地图。3 控制器Site.php文件代码<?phpnamespace app\admin\controller;use think\Controller;// 网站地图class Site exten

  • Ajax请求案例

    1 表单内容<form method="post" class="J_ajaxForms" name="form1"> <div class="info"> <ul class="mycol mycol-3 clearfix"> <li class="col"><input name="name" id="name" type="text" placeholder="您的姓名:"></li> <li class="col"><input name="phone" id="phone" type="text

  • 多个栏目的查询结果合并

    1 先自定义二维数组排序函数function erarray_sort($arr, $keys, $type='asc'){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v){ $keysvalue[$k] = $v[$keys]; } if($type == 'asc'){ asort($keysvalue); }else{ arsort($keysvalue); } reset($keysvalue); foreach ($keysvalue as $k=>$v){ $new_array[$k] = $arr

  • 分页列表功能和详情功能

    // 列表public function index(){ // 分类 $cate_id = input('cate_id',''); $base = Db::name('base') -> where('is_show',1) -> where('base_category_id', $cate_id) -> order('show_time desc,id desc') -> paginate(16, false, ['query' => ['cate_id' => $cate_id, 'page' => request()->param('

  • 获取当前的模块控制器和操作名

    1 方法15.0版本取消了原来的代表当前模块、控制器和操作名的常量,如果需要获取这些,可以改成:当前模块名 :request()->module();当前控制器名:request()->controller();当前操作名:request()->action();2 方法2如果需要在模板里面输出,则可以使用:{$Request.module}{$Request.controller}{$Request.action}

  • TP5跨域请求

    1 跨域请求简介后台接口模块 adminapi,用于对前后端分离项目提供接口服务,会涉及到跨域问题。2.处理预检请求跨域情况下,客户端先发送 options 预检请求到接口服务端,接口服务端收到预检请求之后,需要对预检请求进行处理,处理方法是在【根目录/public/index.php】入口文件中,增加如下代码来处理跨域预检请求# 跨域时,前台先发送预检请求到后台,后台处理完成后,前台再发送跨域请求到后台。if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){ //允许的源域名 header("Access-Control-Allow-Origin: *");