![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
handsomeToday
程序猿
展开
-
PHP - 准确计算过了多少个周几
如下 /** * 获取从星期($dayStartOfMonth)在过了$daysInMonth后共过了多少个$day * * @param [type] $daysInMonth * @param [type] $day * @param [type] $dayStartOfMonth date('w',strtotime(date('...原创 2019-07-25 17:35:36 · 596 阅读 · 0 评论 -
如何从一个标准url里取文件名?
思路:首先获取到文件名+后缀,获取方法有parse_url,basename,然后再去掉后缀,至于去掉方法有截取explode,或者strpos+strstr+substr截取原创 2019-02-13 11:16:43 · 746 阅读 · 0 评论 -
确保多个进程同时写入同一个文件成功 - fopen、flock、fwrite、fclose
词义解析 fopen即file open flock即file lock fwrite即file write fclose即file close其中flock第二参数意义是operationLOCK_EX即LOCK锁定EXLOCK_UN即LOCK释放UN<?php$fp=fopen('lock.txt','w+');if( flock($fp, LOCK_EX)...原创 2019-02-13 11:13:25 · 2541 阅读 · 0 评论 -
接口返回包含哪几部分
1. {2. code:3. msg:4. data:{}5. }原创 2019-02-23 15:24:31 · 1878 阅读 · 0 评论 -
调用接口需要什么,签名怎么生成的,登陆接口的实现
签名:( token + 时间戳 ) 加密 = sign原创 2019-02-23 15:21:39 · 1712 阅读 · 0 评论 -
PHP实现遍历出文件夹和他下面子文件的代码
1. <?php2. $dir = '/Users/Desktop/算法';3. 4. function getAllFile($dir){5. $allFileArr = array();6. if (is_dir($dir)) {7...原创 2019-02-23 12:57:19 · 155 阅读 · 0 评论 -
PHP如何获取客户端的IP(要求取得一个int)和服务器端的IP的代码
$ip = $_SERVER["REMOTE_ADDR"]; 或者:getenv('REMOTE_ADDR'); 转化为int $intIP = ip2long($ip); $_SERVER["SERVER_ADDR"]; gethostbyname('www.baidu.com');原创 2019-02-23 12:43:41 · 1083 阅读 · 0 评论 -
字符串"0"在PHP和js中转换为布尔值是false还是true
php:false; php 弱语言 '0'和0一样;js:true;字符串除了空字符串('')其他都是true(包括' ' 这种中间有空格的);原创 2019-02-23 12:40:57 · 1579 阅读 · 0 评论 -
echo,print_r ,print , var_dump 区别
echo:语句结构; print:是函数,有返回值 print_r:能打印数组,对象 var_dump:能打印对象数组,并且带数据类型原创 2019-02-23 12:39:27 · 179 阅读 · 0 评论 -
PHP一段上传文件的代码
$uploaddir .="uploadfiles/".date("Y")."/".date("m")."/".date("d")."";if (!is_dir($uploaddir)){ if (!mkdir($uploaddir, 0777,TRUE) || !chmod($uploaddir, 0777)) { exit(&转载 2019-02-23 10:58:27 · 618 阅读 · 0 评论 -
简单说说 php内核,zend引擎,php扩展层
内核: 用于处理请求,文件流,错误处理等相关处理zend引擎: 将源文件转换成机器语言(实际上是字节码opCode),然后再zend虚拟机上运行(这个跟java虚拟机是类似的)扩展层:它是一组函数、类库和流, php使用它们来执行一些特定的操作, 比如需要使用mysql扩展(扩展文件实体是 : PhpRoot/ext/php_mysql.dll...原创 2019-02-21 23:21:47 · 299 阅读 · 0 评论 -
PHP优秀资源
PHP优秀资源PHP PSR 代码标准资源站点项目框架成品软件未归类社区微信相关项目管理构建/部署基础框架类库未归类路由异步/协程前端相关聊天/短信文件管理文本处理算法代码检查CLI错误/异常调试工具API安全加密/解密时间/日期微信网页抓取/代理URL/DomainOAuthAPI文档数据库队列/任务缓存Markdown邮件OfficePDF/条形码HTTP/网络通信测试框架模板引擎图像处理PH...转载 2019-02-15 00:21:33 · 670 阅读 · 0 评论 -
单例模式实现对数据库访问的连接唯一性
<?phpclass Mysql{ private static $instance=null; private $conn; // 构造方法,设置为private,不允许通过new获得对象 public function __construct(){ $conn=mysql_connect('localhost','root','pwd'...原创 2019-01-06 11:03:07 · 885 阅读 · 0 评论 -
PHP实现页面跳转方法整理
方法一:header("Location: 网址");//直接跳转header('refresh:3;url=http://www.baidu.com');//三秒后跳转php函数跳转,缺点,header头之前不能有输出,跳转后的程序继续执行,用exit中断执行后面的程序。 方法二:echo "<meta http-equip=refresh content='0;...原创 2019-02-13 11:27:02 · 148 阅读 · 0 评论 -
什么是面向对象?(理解着回答)
面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节。 面向对象有三大特征:封装性、继承性、多态性。 现在纯正的OO语言主要是 Java 和 C#,PHP、C++也支持OO,C是面向过程的。...原创 2019-02-19 13:10:49 · 742 阅读 · 0 评论 -
简述 private、 protected、 public修饰符的访问权限。
private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。public : 公共成员,完全公开,没有访问限制。原创 2019-02-19 13:11:25 · 4661 阅读 · 0 评论 -
创建分页
public function actionPage() { $param = $this->param; $page = (int)$param['page']; $arr = [1,2,3,4,5,6,7]; $count = count($arr); $offset = 2; $...原创 2019-04-23 00:56:00 · 246 阅读 · 0 评论 -
YII - 高效篇
Yii2 高效篇Yii2 高效篇方向Yii2 延迟加载Yii2 数据缓存的使用Yii2 片段缓存使用Yii2 页面缓存的使用Yii2 http缓存的使用Yii2 gii工具的使用Yii2 高效篇方向使得Yii2应用变得高效及gii辅助开发变得高效Yii2 延迟加载类的延迟加载 - Yii框架之–类的延迟加载实例说明类的映射表机制 - 通过 Yii::$classMap组件的延迟加...原创 2019-03-03 23:47:48 · 284 阅读 · 0 评论 -
swoole内存操作模块
Lock Buffer Table Atomic mmap channel serialize原创 2019-03-03 17:16:53 · 189 阅读 · 0 评论 -
swoole使用异步redis的前置条件
安装并启用redis服务 安装hiredis库 编译swoole需要加入 -enable-async-redis原创 2019-03-03 16:46:51 · 165 阅读 · 0 评论 -
websocket特点
建立在TCP协议上 性能开销小通信高效 客户端可以与任意服务器通信 协议标识符ws wss 持久化网络通信协议原创 2019-03-03 15:46:39 · 598 阅读 · 0 评论 -
__autoload()方法的工作原理是什么?
使用这个魔术函数的基本条件是类文件的文件名要和类的名字保持一致。当程序执行到实例化某个类的时候,如果在实例化前没有引入这个类文件,那么就自动执行__autoload()函数。这个函数会根据实例化的类的名称来查找这个类文件的路径,当判断这个类文件路径下确实存在这个类文件后执行include或者require来载入该类,然后程序继续执行,如果这个路径下不存在该文件时就提示错误。使用自动...原创 2019-02-20 17:29:50 · 1311 阅读 · 0 评论 -
作用域操作符::如何使用?都在哪些场合下使用?
(1)调用类常量(2)调用静态方法(使用static修饰的类方法原创 2019-02-20 17:29:16 · 1321 阅读 · 0 评论 -
类中如何定义常量、如何类中调用常量、如何在类外调用常量。
类中的常量也就是成员常量,常量就是不会改变的量,是一个恒值。定义常量使用关键字const.例如:const PI = 3.1415326;无论是类内还是类外,常量的访问和变量是不一样的,常量不需要实例化对象,访问常量的格式都是类名加作用域操作符号(双冒号)来调用。即:类名 :: 类常量名;...原创 2019-02-20 17:28:31 · 5967 阅读 · 0 评论 -
MyISAM和InnoDB的索引实现 - 基础理论
MyISAM和InnoDB的索引实现B-Tree索引一、MyISAM索引实现:MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。1.主键索引2辅助索引(Secondary key)二、InnoDB索引实现1.主键索引2.辅助索引三、InnoDB索引和MyISAM索引的区别:1.B-Tree索引2.Hash索引3.Fulltext索引4.R-Tree索引B-Tree索...原创 2019-02-14 15:05:07 · 198 阅读 · 0 评论 -
$this和self、parent这三个关键词分别代表什么?在哪些场合下使用?
$this 当前对象self 当前类parent 当前类的父类$this在当前类中使用,使用->调用属性和方法。self也在当前类中使用,不过需要使用::调用。parent在类中使用。...原创 2019-02-19 13:16:32 · 1005 阅读 · 0 评论 -
常用的魔术方法有哪些?举例说明
php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。__construct() 实例化类时自动调用。__destruct() 类对象使用结束时自动调用。__set() 在给未定义的属性赋值的时候调用。__get() 调用未定义的属性时候调用。__isset() 使用isset()或empty()函数时候会调...原创 2019-02-19 13:16:04 · 457 阅读 · 0 评论 -
如何重载父类的方法,举例说明
先说明下啥是重载:函数重载指一个标识符被用作多个函数名,且能够通过函数的参数个数或参数类型将这些同名的函数区分开来,调用不发生混淆。可以使类里面的某个方法产生多种效果,根据传入参数不同,可以执行不同的逻辑。有以下几点要求:1、在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);2、不能...原创 2019-02-19 13:15:34 · 1085 阅读 · 2 评论 -
什么是构造函数,什么是析构函数,作用是什么?
构造函数(方法)是对象创建完成后第一个被对象自动调用的方法。它存在于每个声明的类中,是一个特殊的成员方法。作用是执行一些初始化的任务。Php中使用__construct()声明构造方法,并且只能声明一个。析构函数(方法)作用和构造方法正好相反,是对象被销毁之前最后一个被对象自动调用的方法。是PHP5中新添加的内容作用是用于实现在销毁一个对象之前执行一些特定的操作,诸如关闭文件和释放内存等。...原创 2019-02-19 13:14:49 · 12819 阅读 · 0 评论 -
抽象类和接口的概念以及区别?
抽象类:它是一种特殊的,不能被实例化的类,只能作为其他类的父类使用。使用abstract关键字声明。接口:它是一种特殊的抽象类,也是一个特殊的类,使用interface声明。区别:(1)抽象类的操作通过继承关键字extends实现,而接口的使用是通过implements关键字来实现。(2)抽象类中有数据成员,可以实现数据的封装,但是接口没有数据成员。(3)抽象类中可以有构造方法...原创 2019-02-19 13:14:23 · 612 阅读 · 0 评论 -
XML 与 HTML 的主要区别
语法要求不同:(1)在html中不区分大小写,在xml中严格区分。(2)在HTML中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略或者之类的结束标记。在XML中,是严格的树状结构,绝对不能省略掉结束标记。(3) 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/ 字符作为结尾。这样分析器就知道不用查找结束标记了。(4)在XML中,属性值...原创 2019-02-19 13:13:13 · 2095 阅读 · 1 评论 -
堆和栈的区别?
栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。...原创 2019-02-19 13:12:37 · 104 阅读 · 0 评论 -
PHP与时间有关的自定义函数整理
// 获取下个月是几月 private function getNextM(){ $firstday=date('Y-m-28'); $timestamp=strtotime($firstday); $nextM=date('m',$timestamp+3600*24*5+1); return $nextM; } // 获取上个月是几月原创 2020-04-15 15:07:27 · 304 阅读 · 0 评论 -
socket推送
socket推送原创 2017-11-08 17:30:19 · 345 阅读 · 0 评论 -
上传EXCEL文件并读取到数据库
public function test(){ if(isset($_FILES['Bl'])){ import('ORG.Net.UploadFile'); $upload = new UploadFile();// 实例化上传类 $upload->maxSize = 3292200 ;// 设置附件上传大小 $upl原创 2017-11-08 16:06:10 · 1339 阅读 · 0 评论 -
线上修改mysql配置
线上修改mysql配置原创 2017-11-08 16:03:34 · 630 阅读 · 0 评论 -
php效率高写法
提高PHP效率转载 2017-11-08 14:56:05 · 221 阅读 · 0 评论 -
关于实现接收base64图片数据并以图片保存到本地的处理
处理base64文件数据原创 2017-11-08 14:33:04 · 11060 阅读 · 0 评论 -
关于(nweb)非微信浏览器回调并查询订单
关于(nweb)非微信浏览器支付回调并查询订单原创 2017-11-08 10:09:48 · 245 阅读 · 0 评论 -
关于实现自执行数据库备份bat生成和使用
关于实现自执行数据库备份bat生成和使用原创 2017-11-07 23:10:56 · 318 阅读 · 0 评论