php
angryshan
程序员
展开
-
php PHPEXCEL导出,日期无法读取成日期类型问题
这两天与客户对接,发现一个问题,我们系统导出的日期是文本类型,不是标准日期类型,导致客户用他们的系统导入不进去,在此记录一下字符串文本转日期格式。$objPHPExcel = new PHPExcel(); ... $objPHPExcel->getActiveSheet()->setCellValue("{$dataLetter}",PHPExcel_Shared_Date::stringToExcel("2019/5/17"));$objPHPExcel->getAc转载 2021-09-01 14:59:47 · 413 阅读 · 0 评论 -
php function &函数名 &的作用
介绍一下&符号在函数名前的作用<?phpfunction &test(){ static $b = 0; //声明一个静态变量 $b = $b+1; return $b;}echo $a = test(); //输出 $b 的值为:1$a = 5;echo $a = test(); //输出 $b 的值为:2$a = 5;echo $a = &test(); //输出 $b 的值为:3 echo $a;原创 2021-06-16 17:03:49 · 157 阅读 · 2 评论 -
php7 函数返回类型声明
函数返回类型声明有7种:int string float interfaces bool arraycallableint、string、float、bool、array类型写法差不多<?phpfunction sum(int $num):int{ return $num;}print(sum(1));function sums(int ...$num):int{ return array_sum($num);}print(sums(1,2,3...原创 2021-05-11 14:47:35 · 771 阅读 · 0 评论 -
PHP7 匿名类的用法
匿名类就像一个没有事先定义的类,而在定义的时候直接就进行了实例化。// 直接定义$objA = new class{ public function getName(){ echo "I'm objA"; }};$objA->getName();// 方法中返回function testA(){ return new class{ public function getName(){ echo "I'.转载 2021-05-06 17:47:57 · 250 阅读 · 0 评论 -
php if内的等号赋值情况
<?phpif( $a=11 && $b=22 ){echo"我被运行了";}//输出:我被运行了var_dump($a);//输出bool(true)var_dump($b);//输出int(22)if( $a=0 && $b=22 ){echo"我被运行了";}//未被运行var_dump($a);//输出bool(false)var_dump($b);//输出NULL//解释:第一个变量都会变成boolean, 如果它的值不是0.原创 2021-03-30 11:55:36 · 346 阅读 · 0 评论 -
php 二进制签到
<?php/** * 签到工具类 */class SigningManagers { public $element; public function SigningManager() { $this->element = 0; } /** * 当天签到 * * @return bool @签到成功true, 失败false */ public function signToday(.原创 2020-12-23 15:50:49 · 355 阅读 · 0 评论 -
php位运算
1、 位运算一览表例子 名称 结果 $a & $b And(按位与) 将把$a和$b中都为1的位设为1。11 & 01 = 01 $a | $b Or(按位或) 将把$a和$b中任何一个为1的位设为1。11 | 01 = 11 $a ^ $b Xor(按位异...原创 2020-12-18 18:16:35 · 285 阅读 · 1 评论 -
六、实战——注册表单验证/七、仿Smarty简易模板引擎
六、实战——注册表单验证1.前台页面准备,html<form action="b.php" method="post"> 用户名<input type="text" name="username" id="username" value="" /> <br><br&a翻译 2018-12-17 15:27:11 · 254 阅读 · 0 评论 -
四、实战——常见正则表达式书写\五、正则工具类开发
四、实战——常见症状表达式书写 1.实战应用常见正则表达式书写:非空、手机号、Email地址……正则工具类开发及表单验证案例仿smarty简易模板引擎2.非空匹配.+:匹配除了空格以外的原子一次或者无穷次3.浮点数匹配.前面的斜杠是转译符号\d+\.\d{2}$,保留两位小数的正则表达式,如果有三位小数,则不符合规则\d 匹配任意一个十进制数字,即[0-...翻译 2018-12-17 15:24:12 · 216 阅读 · 0 评论 -
三、修正模式
1.懒惰匹配与贪婪匹配贪婪匹配:匹配结果存在奇异时取其长//表达式的含义:匹配imooc,//.点表示匹配除换行符之外的任意字符//+ 匹配至少一次到无穷次原子,即{1,}//并且以123结尾$pattern = '/imooc.+123/';$subject = 'I love imooc_a123123123123456';$matches = array();...原创 2018-12-17 15:19:28 · 242 阅读 · 0 评论 -
二、正则表达式的语法
二、正则表达式的语法1.界定符界定符表示一个正则表达式的开始和结束例如:/[0-9]/ 此外还可以:#[0-9]# 或者 {[0-9]} (大括弧为了避免产生歧义,一般不建议使用唷!!!)ps喜欢用哪种界定符,就看小伙伴的心情啦!!!2.正则表达式工具regexpal,在浏览器中就能使用3.原子概念(1)可见原子:Unicode编码表中用键盘输出后肉眼可...原创 2018-12-13 15:41:08 · 226 阅读 · 0 评论 -
一、正则表达式函数解析
1.正则表达式参数说明建议用$pattern = 正则表达式 $subject = 匹配的目标数据 这个两个参数来命名。2.正则表达式数据输出函数简介<?phpfunction show($var = null){ if (empty($var)){ echo 'null'; }elseif (is_array($var) || is...原创 2018-12-07 15:56:35 · 949 阅读 · 0 评论 -
权限管理Rbac4
翻墙访问权限定义:用户通过修改url地址的方式达到访问本身没有权限的内容。给后台所有控制器制作父类控制器:禁止未登录系统的用户访问(由于每个页面都要有这个限制,所以应在父控制器中添加相应的判断内容)注意:有的页面不需要登录也能访问该页面的内容应该在判断访问限制之前...原创 2018-08-21 11:45:50 · 790 阅读 · 0 评论 -
权限管理Rbac3
1.数据维护权限列表添加权限(未完,接https://blog.csdn.net/angryshan/article/details/81877881)原创 2018-08-20 18:14:56 · 4762 阅读 · 0 评论 -
权限管理Rbac2
一、数据维护1.角色数据维护1.1列表展示(添加、修改、删除)1.2给角色分配权限1)表单页面展示2)给角色分配权限3)角色分配权限-搜集表单信息(未完,接https://blog.csdn.net/angryshan/article/details/81875599)...原创 2018-08-20 10:50:49 · 2014 阅读 · 0 评论 -
权限管理Rbac1
一、RBAC的介绍1.RBAC:role base access controller2.权限控制器第一个阶段:用户与权限直接对应该方式权限设置的好处:实现相对比较容易,用户的权限非常清晰。该方式权限设置的坏处:权限设置“太具体”,管理员要花大量的时间给“新增用户”设置权限,给“离职用户”取消权限。导致工作缺乏效率3.权限设置第二个阶段:权限与组别直接对应,...原创 2018-08-17 13:58:59 · 4009 阅读 · 4 评论 -
php 生成带有小数的随机数
mt_rand() 函数使用 Mersenne Twister 算法生成随机整数。提示:该函数是产生随机值的更好选择,返回结果的速度是rand()函数的 4 倍。mt_rand(min,max);参数 描述 min 可选。规定返回的最小数。默认是 0。 max 可选。规定返回的最大数。默认是mt_getrandmax()。 function randomFloat($min = 0, $max = 1) { $num = $min + mt...原创 2020-07-17 17:15:39 · 2019 阅读 · 0 评论 -
yii2 的基本操作
1.migrate 数据迁移 新建新建新表 yii migrate/create create_blog_table新建数据库 yii migrate2.增删改查新增使用model::save()操作进行新增数据$user= new User;$user->username =$username;$user->password =$password;$user->save()使用createCommand()进行新增数据...原创 2020-06-19 17:41:53 · 181 阅读 · 0 评论 -
PHP 懒加载哪些事儿
PHP自动加载此篇文章主要介绍加载的php类的方式,以及自动加载的几种模式;题外话:大家空了可以多看看别人写的框架源码;自然能学到很多高级的东西;PHPER几个发展阶段初级阶段大家在学刚开始学习php的时候常用的加载方式大致如下(大致说下目录结构):project 项目根目录├─controller 控制器层├─model ...转载 2019-11-21 16:33:34 · 239 阅读 · 0 评论 -
PHP - 过滤敏感词汇
方法一:$sensitive = array( '小白', '小黑', 'me', 'you');$badword = array_combine($sensitive,array_fill(0,count($sensitive),'*'));$string = 'likeyou小白喜欢小黑爱着的大黄';$str = strtr($string, $badword);ech...原创 2019-11-21 14:00:33 · 615 阅读 · 1 评论 -
php + jq 转盘的实现
index.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <tit...原创 2019-08-21 14:14:18 · 575 阅读 · 0 评论 -
thinkPHP5——使用PHPexcel文件的准备工作
准备工作:PHPexcel文件的下载地址是: https://github.com/PHPOffice/PHPExcel PHPexcel放置在Tp5的位置: vendor('PHPExcel.PHPExcel');// 将Vendor目录中的PHPExcel/PHPExcel.php类文件引入 // 创建一个处理对象实例,斜杠不能少 ...原创 2018-08-07 17:56:30 · 403 阅读 · 0 评论 -
thinkPHP5——验证类之把所有验证方法放到一个类中
主要文件:1.VUser.php的主要代码:namespace app\index\validate;use think\Validate;class VUser extends Validate{ //验证用户信息修改 public static function vupdate(){ $rule = [ 'id'=>...原创 2018-08-07 17:48:52 · 738 阅读 · 0 评论 -
thinkPHP5——PHPexcel文件导入
所涉及文件:1.Member.php文件的代码: public function member_import(){ //file(path,include_path,context)把整个文件读入一个数组中 $file = request()->file('file'); //调用upload方法上传文件,取到文件地址 $mfile = new E...原创 2018-08-11 10:24:04 · 852 阅读 · 0 评论 -
thinkPHP5——后端之分页
此处写的分页内容比较简单,主要是接收参数$pagedata(一页有多少条数据),$key(搜索关键字),两个参数,并返回结构 /** * 新闻管理分页 * @param string $pagedate 一页多少条数据 * @param string $key 输入查询内容 * @return \think\response\Json 返回结果...原创 2018-08-11 10:18:51 · 507 阅读 · 0 评论 -
thinkPHP5——后端之文件上传
所需文件:文件上传代码:namespace app\index\controller;use think\Controller;class Lib extends Controller{ /** * 文件上传 */ public function upload(){ //print_r($_SERVER);//查询当前服务器信息 ...原创 2018-08-04 16:41:20 · 1958 阅读 · 0 评论 -
thinkPHP5——ajax注册登录
主要文件:app\index\model\UsersModel.php文件代码namespace app\index\model;use think\Model;class UsersModel extends Model{ protected $pk = 'id';//设置主键}一、登录1.login.html邮箱:<input type="e...原创 2018-07-27 17:10:48 · 5236 阅读 · 2 评论 -
thinkPHP5—ajax的无限父级操作
今天学习了基于thinkphp5的ajax无限父级的操作1.相应文件图:2.数据库表名lsy_topic相应代码的实现:1.视图:app/index/view/user/topic.html<div> <!--一级--> <select id="pname" class="pure-input-s" name="pname" onch...原创 2018-07-22 16:51:37 · 686 阅读 · 0 评论 -
thinkPHP5——验证器的使用
需要的文件如图所示:1.视图:registered.html的主要代码如下:<form method="POST" action="{:url('register')}"> 用户 <input type="text" id="username" name="username" class="form-control" onblur原创 2018-07-25 17:34:24 · 1005 阅读 · 0 评论 -
thinkPHP5——后端之登录注册修改用户信息
所需文件如下:开始项目前,先打开应用调试模式(config.php,把false改成true)一、数据库CREATE TABLE `wyt_member` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(20) NOT NULL DEFAULT '' COMMENT '账号'...原创 2018-08-03 14:58:14 · 6111 阅读 · 2 评论 -
thinkPHP5——接口测试
/** * 淘宝IP地址查询接口 * @param string $data 获取地址 * @return 返回结果 */ public function interfac($data){ $url = 'http://ip.taobao.com/service/getIpInfo.php?ip='; /*$ht...原创 2018-08-22 11:03:59 · 1156 阅读 · 0 评论 -
php简单框架---架构搭建
一)项目的入口文件1.新建项目文件夹:my_frame,在文件夹里新建文件index.php,2.新建my_frame/core核心文件夹,my_frame/app项目所储文件夹3.新建core/common/function.php函数库,core/ lss.php核心文件4.自动加载文件(启动框架)入口文件index.php具体实现代码如下:/** * 入口文...原创 2019-01-09 17:26:04 · 2573 阅读 · 0 评论 -
框架实战(以留言板为例子)
一)后端功能整理my_frame/app/controller/message.php留言板的增删改查控制器<?phpnamespace app\controller;class message extends \core\lss { //留言列表-首页视图 public function msg_list(){ $model = new \ap...原创 2019-01-11 10:13:03 · 668 阅读 · 0 评论 -
框架内容填充-composer加载
一)日志类 my_frame/core/lib/log.php 核心文件之日志文件<?phpnamespace core\lib;class log{ static $class;#用于存储类 /** * 加载存储方式 * 1.确定日志的存储方式 * 2.写日志 */ static public functio...原创 2019-01-11 10:05:00 · 470 阅读 · 0 评论 -
thinkPHP5——验证器的使用总结
一、验证器总结(此处把控制器的验证部分全部放到validate中进行验证)(一)缺点:适用于一个验证,多个验证时,不易于修改1.在validate文件创建User文件namespace app\index\validate;use think\Validate;class User extends Validate{ protected $rule = [ ...原创 2018-12-04 16:46:55 · 2756 阅读 · 0 评论 -
tp5-checkbox默认选中
1.视图层2.控制器3.效果图如下4.可复制代码如下:<td> {volist name='auth_infoA' id='a'} <p style="margin-left: 20px"> <input name="checkid" id="access_check" value="{$a.auth_.原创 2018-09-03 17:41:24 · 2809 阅读 · 0 评论 -
数据库查询-请列出所有超过或等于5名学生的课
解题思路:1.按相同的类型分组:select class from courses group by class2.满足“超过或等于5名学生的课”的条件:select class from courses group by class having count(class) >= 53.满足‘学生在每个课中不应被重复计算’:select class from...原创 2018-09-02 14:31:19 · 2364 阅读 · 0 评论 -
thinkPHP5-后端之分页
这是用户列表分页方法,在控制器里写 #获取参数 $data = self::$config; #判断是否有输入当前页和每页条数,否则默认值 $curr = isset($data['curr'])?$data['curr']:1; $limits = isset($data['limits'])?$data['l...原创 2018-09-04 16:37:28 · 2856 阅读 · 0 评论 -
thinkPHP5——后端之权限管理-数据库的建设
数据库ET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for sw_auth-- ----------------------------DROP TABLE IF EXISTS `sw_auth`;CREATE TABLE `sw_auth` ( `auth_id` sm...原创 2018-09-14 18:12:56 · 2044 阅读 · 1 评论 -
thinkPHP5——ajax异步刷新之注册
今天学习ajax异步刷新之注册,源文件如图所示1.HTML文件代码:<!--html文件的主要代码-->用户<div><input type="text" id="username" name="username" onblur="register_name()"></div><d原创 2018-07-24 17:14:14 · 1089 阅读 · 0 评论