25
2017
12

yii2 Restful API 路由美化配置步骤

1,在index.php脚本文件同级目录下添加.htaccess文件,添加规则使url隐藏入口脚本生效RewriteEngine on # If a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_
24
2017
12

yii2 分组查询的实现方法

在使用yii2开发一个费用结算的小系统,统计费用时,需要进行分组统计,记录下实现方法,供各位道友参考。需求描述数据如下表,统计各个成员(mid)的任务提成(fee)总数;实现方法在控制器中生成ActiveDataProvider时,在构建的查询条件后添加addGroupBy(['mid']),将数据分组显示。同时在构建查询时计算提成费用合计,需要使用sum()方法来配合实现分组统计,代码如下,my_sum即合计后的各成员的提成费用。$query = TaskA
06
2017
12

php 时间超出2038年 转化时间戳失败的解决方案

PHP有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54    到 2038 年 1 月 19 日 03:14:07。在32位操作系统环境下,超出2038年之后,使用strtotime()获取不到对应的时间戳,这时可以使用new DateTime来进行处理。即先将时间转化为DateTime对象,然后使用format方法进行转化。即:$datetime->format("U")实验程序以及结果如下:程序
05
2017
11

[转]php归档格式:phar文件详解(创建、使用、解包还原提取)

一个php应用程序往往是由多个文件构成的,如果能把他们集中为一个文件来分发和运行是很方便的,这样的列子有很多,比如在window操作系统上面的安装程序、一个jquery库等等,为了做到这点php采用了phar文档文件格式,这个概念源自java的jar,但是在设计时主要针对 PHP 的 Web 环境,与 JAR 归档不同的是Phar 归档可由 PHP 本身处理,因此不需要使用额外的工具来创建或使用,使用php脚本就能创建或提取它。phar是一个合成词,由PHP 和 Archive构成,可以看出它是
07
2017
10

[转]ThinkPHP+jquery实现“加载更多”

在很多web端界面中都会用到点击按钮加载最新几条数据的demo,下例为使用thinkphp+jquery实现实例:第一步 模板文件           <!--软件-->             <div class="
28
2017
09

thinkphp,discuz同步登录问题记录

继续之前的thinkphp,discuz同步登录实现方案,部分用户在thinkphp应用中登录之后,验证,登录成功,但是用户状态并未更新,仍是未登录状态,因为判断用户登录状态的是根据discuz产生的cookie值,即$_COOKIE['C9sR_2132_auth']。所以,登录状态未更新,问题应该是在同步登录执行过后,返回的<script>....</script>虽调用了类似这样的地址:“http:///论坛域名/api/uc.php?time=15
26
2017
09

(ok)thinkphp discuz跨域情况下cookie设置无法传递,导致同步登录失败

之前记录过一篇thinkphp与discuz实现同步登录的文章《thinkphp3.2.3,discuz 同步登录实现方案》,按照文章方法在本地测试成功后,上传到线上服务器后,出现了一个问题:先在主站登录后,再访问discuz论坛可以实现登录的同步,但主站始终时未登录状态,打开firebug查看主站接收的cookie值,只有三条记录,在主站用于判断登录状态所需的cookie值都未出现,可对比以下两张图。也就是说,不管在主站还是在论坛执行登录后,主站都是无法接受到cookie值的,这样也就无法实现
25
2017
09

文件权限导致ucenter通信失败的错误记录

在进行thinkphp和ucenter的用户整合时,在ucenter中新建应用后,本地环境中提示通信成功,上传服务器后提示通信失败,生成的各项define参数与thinkphp端的配置文件中参数保持一致。错误原因: uc_server/data/cache/apps.php,无写入的权限,导致提交之后应用信息无法保存,通信失败;解决方法:[root@localhost uc_server]#chown root:www uc_server/data/cac
23
2017
09

thinkphp3.2.3,discuz 同步登录实现方案

ucenter同步登录原理为了顺利解决部署过程中可能出现的问题,推荐笔友们先阅读一下这篇文章《简单分析ucenter 会员同步登录通信原理》,明白部署中各个步骤的作用。部署过程记录1. 下载附件api.zip,ThinkphpUcenter.zip,分别解压后,将源码与ThinkPHP框架部署如下:按照上图部署完项目目录后进入下一步,关于config.inc.php文件在此先不用关心,在安装完成discuz并在ucenter中添加了应用之后便可得到此文件中的代码。2,进入Ucenter点击应用管
15
2017
09

yii2 限制登录用户可访问及访问动作权限控制

(1)控制器 behaviors 过滤数据需要引入如下文件use yii\filters\AccessControl; use yii\filters\VerbFilter;首先:什么是过滤器?过滤器就是对不同用户角色的控制; 如(游客->最普通的平民,用户->已经注册的用户,管理员->拥有一切权限),然而 Yii2自带的权限控制默认只支持两个角色:guest(游客,没有登录的,用 ? 表示)authenticated (登录了的,用 @ 表示)
17
2017
08

yii2配置文件中修改参数params 定义全局变量

yii\base\Application::params  该属性为一个数组,指定可以全局访问的参数, 代替程序中硬编码的数字和字符, 应用中的参数定义到一个单独的文件并随时可以访问是一个好习惯。 例如用参数定义缩略图的长宽如下:[         'params' => [       
08
2017
08

yii2视图层引入angular生成的项目

1,将dist文件夹放置在api/assets/下,在yii中引入ng build生成的资源静态资源文件。api/assets/AppAsset.php<?php namespace api\assets; use yii\web\AssetBundle; /**  * Main api application asset bundle. */ class AppAsset ex
07
2017
07

[转]php利用缓冲实现动态输出(flush,ob_flush)

print str_repeat(" ", 4096);//php.ini output_buffering默认是4069字符或者更大,即输出内容必须达到4069字符服务器才会flush刷新输出缓冲 for ($i=10; $i>0; $i--) {     echo $i;     ob_flush()
07
2017
07

php 远程图片下载至本地服务器并存储

    /**     * 下载远程图片至本地服务器     *     * @param   imgsrc      图片远程地址     * @return 
07
2017
07

php-字符串里数字的提取方法

function findNum($str=''){         $str=trim($str);         if(empty($str)){return '';}         $temp