php学习
文章平均质量分 62
DREAM-追梦
自信-坚持
展开
-
PHP魔术方法和魔术常量介绍及使用
转载自-极客头条面试的时候被问到过,因为用的少,有的具体用法不是很了解,这次看到这篇文章,总结的真的很详细,就转载过来,抽空再看看,争取用到项目中----------------------------------有些东西如果不是经常使用,很容易忘记,比如魔术方法和魔术常量。魔术方法(Magic methods)PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP转载 2017-05-14 09:34:04 · 343 阅读 · 0 评论 -
Cookie禁用了,Session还能用吗?原因详解
Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得转载 2017-07-01 15:27:36 · 3723 阅读 · 0 评论 -
php删除数组最后一个元素和第一个元素,array_shift(),array_pop()的用法
转载自官网http://www.php.net/manual/zh/array_pop — 弹出数组最后一个单元(出栈)弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。返回值:返回 array 的最后一个值。如果 array 是空(如果不是一个数组),将会返回 NULL 。示例: array_pop() 例子$s转载 2017-06-13 11:21:53 · 2662 阅读 · 0 评论 -
php/thinkphp使用PHPExcel解析表格数据,生成表格案例
我使用的是thinkphp框架遇到个一场景,发货员发货之后需要一个一个给用户发通知短信,效率太低,所以我就想到了模板短信,降到效率问题,我是这样设计的,他把Excel导入,我通过phpExcel进行解析,匹配到姓名,电话,和订单号,订单类型然后向用户发送通知短信,根据订单类型发送不同的订单查询地址和通知信息----------------------------------原创 2017-06-13 11:56:17 · 3146 阅读 · 0 评论 -
用php把强制下载各类文件的方法
可以下载各个类型的文件,目前我只使用了下载txt文件,可以使用这个是最牛逼的下载类,可以不是我写的。。。转载地址关了找不到了,对作者说声抱歉和感谢function download($file){ //First, see if the file exists if (!is_file($file)) { die("404 File not found!")原创 2017-01-19 11:34:38 · 1237 阅读 · 0 评论 -
php-常用函数
php基础常用函数转载 2016-12-22 17:10:00 · 369 阅读 · 0 评论 -
简单理解Socket及TCP/IP、Http、Socket的区别
TCP/IP要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模转载 2017-06-28 10:54:18 · 400 阅读 · 0 评论 -
通过有趣的对话来学习面向对象的设计原则
我如何向我的妻子解释OOD 通过有趣的对话来学习面向对象的设计原则。介绍我的妻子Farhana希望恢复自己的软件开发人员的职业生涯(她作为一名软件开发人员开始了自己的职业生涯,但由于我们的第一个孩子的出生而无法进行),而且这些天,我转载 2017-06-28 11:48:11 · 541 阅读 · 0 评论 -
centos 配置php环境-apache,mysql5.6,php5.6环境过程分享
一: 安装apache:1 yum install httpd httpd-devel 启动apache:2 /etc/init.d/httpd start 结果出现下面报错 好吧,出师不利啊百度了一有下面解决方法http://blog.csdn.net/zymx14/article/details/51440722原来是iptable的限制3. 临原创 2017-07-20 10:14:24 · 433 阅读 · 0 评论 -
使用PHPMailer发送
php使用phpmailer发送邮箱原创 2017-06-04 14:57:13 · 445 阅读 · 0 评论 -
新垃圾回收机制说明
此文转载自http://blog.csdn.net/yongcto/article/details/18142025,但是他也不是原创,根据时间来看此文转自http://blog.csdn.net/niluchen/article/details/9468365但是这篇也是转载在5.2及更早版本的PHP中,没有专门的垃圾回收器GC(Garbage Collection),引擎在判断转载 2017-06-28 16:17:28 · 258 阅读 · 0 评论 -
php排序算法-冒泡排序和快速排序
总是对这两种排序特别迷糊,今天趁活不多,认真看了下,也算对自己有个交代吧第一:冒泡排序 // 默认从小到大排序 // 若从小到大则第二个参数为true function bubbling_sort($arr,$state = false){ $length = count($arr); for ($i=0; $i < $length; $i++) { for ($j=原创 2017-05-14 11:35:59 · 563 阅读 · 0 评论 -
thinkphp 模板中使用mb_substr(),substr()函数
小记录在模板中使用函数,之前我记得我一直是这么用的{$v.title|mb_substr=###,0,16,'utf-8'}函数的参数用###,但是这次却没有成功,正确的用法是这样的{$v.title|mb_substr=0,16,'utf-8'}没办法,今天居然在这晕乎乎的了,只能查看手册了使用函数复制本页链接我们往原创 2017-05-05 17:39:40 · 8856 阅读 · 0 评论 -
thinkphp3.2 系统常量参考
thinkphp3.2 系统常量参考转载自thinkphp3.2 官方手册http://document.thinkphp.cn/manual_3_2.html#const_reference预定义常量预定义常量是指系统内置定义好的常量,不会随着环境的变化而变化,包括:URL_COMMON 普通模式 URL (0)URL_PATHINFO PATHINFO URL转载 2017-05-14 19:40:33 · 1999 阅读 · 0 评论 -
thinkphp验证码使用小案例
thinkphp3.2 的验证码使用是非常方便的,几乎可以说把代码粘贴进去就能直接使用首先做一个生成验证码的方法LogController.class.php中 // 产生验证码 public function makeVerify(){ $Verify = new \Think\Verify(); $Verify->u原创 2017-05-06 09:58:10 · 449 阅读 · 0 评论 -
把系统配置写入文件做文件配置
把系统配置写入文件做文件配置有时候系统的一些配置也写入数据库太麻烦,不如直接做文件配置,直接把配置项写入文件中,这样的话更加有灵活性,没少了不必要的数据库操作实例如下 // 文件路径及名称 // CONF_PATH 是thinkphp的配置文件位置 $filename = CONF_PATH.'/siteConfig.php'; // 打开文件,不存在则创建新原创 2017-05-16 09:29:05 · 652 阅读 · 0 评论 -
php禁止客户端访问目录文件
1.最简单的办法是在图片文件夹里面建立一个空的索引文件,例如:index.html最好再加上,返回上一页面history.back();2.APACHE服务器这样做,搜索你的httpd.conf文件,删除下面的行:LoadModule autoindex_module modules/mod_autoindex.so3.只需要在apache的配置文件httpd.转载 2017-05-16 14:19:50 · 3435 阅读 · 0 评论 -
thinkphp 中getfield的用法详解
转自tp3.2 手册http://document.thinkphp.cn/manual_3_2.html#read_data读取字段值读取字段值其实就是获取数据表中的某个列的多个或者单个数据,最常用的方法是 getField方法。示例如下:$User = M("User"); // 实例化User对象// 获取ID为3的用户的昵称 $nickname = $User-转载 2017-05-20 09:39:25 · 1645 阅读 · 0 评论 -
网易云信-网易验证码短信,网易通知类短信的使用
短信验证码是网站必不可少的,基本每个公司都会用到,之前用的短信验证码是互易无线的,现在新公司又使用了网易云信的短信验证,这些平台的使用基本都类似,都是基于curl请求这次我就记录下我对网易云信验证码的使用过程一:注册网易云信,获取appkey和appsert设置配置文件,我们知道一般配置项都要写在配置文件中,方便管理<?php return a原创 2017-06-06 13:10:54 · 11302 阅读 · 3 评论 -
thinkphp 3.2 使用phpqrcode生成二维码,phpqrcode的使用
首先下载phpqrcode,解压把整个包都放入thinkphp/library/vendor/下在控制器中新建方法,首先引文phpqrcode文件引入后就能直接生成二维码了,下面是一个例子,生成 function createcode(){ Vendor('phpqrcode.phpqrcode'); $value = "一生,是多久";//二原创 2017-06-03 18:19:08 · 2991 阅读 · 2 评论 -
RESTfulAPI学习笔记
总述:rest是简单的web api,可以利用rest使用http方法向url做出请求(get/post)get 获取资源post 增加资源put 替换资源delete 删除资源PHP获取远程url的三种方式1 标准文件函数file_get_contents()函数fopen()需要打开allow_url_fopen 配置,一般默认都打开了2 cur原创 2017-07-08 14:49:18 · 391 阅读 · 0 评论 -
手机web端唤醒qq客户端以及电脑web端唤醒qq客户端
1 电脑网页唤醒qq客户端http://shang.qq.com/v3/widget.html先在qq推广申请下,几分钟就弄好了,不然会有提示 这样就能直接唤醒电脑上的qq客户端了当然手机网页使用这种方式体验特别差,下面是手机网页的方式2 手机web唤醒手机qq首先加个a标签的点击事件咨询客服 前端可以修饰下样式然后是个js原创 2017-09-14 15:19:34 · 11626 阅读 · 1 评论 -
对多维数组根据键进行排序
<?php/** * Created by PhpStorm. * User: 张 * Date: 2017/12/22 * Time: 11:14 */namespace app\modules\components\helpers;class FeiArr{ function array_sort($arr,$keys,$type='asc'){原创 2018-01-10 10:37:02 · 452 阅读 · 0 评论 -
利用git客户端来使用composer
用linux命令用习惯了,所以widows状态下不是很好用对composer进行小小的修改,能直接在git bash端使用composer复制composer.phar ,在修改名称为 composer也就是去掉文件扩展名然后就没有然后了下面是效果原创 2018-01-18 17:24:38 · 1795 阅读 · 0 评论 -
mysql/sql 触发器的使用
mysql触发器在项目中的使用触发器A: ssc_she_log随着ssdb_she_log的新增而新增delimiter $drop trigger if exists after_insert_on_ssdb_she_log$create trigger after_insert_on_ssdb_she_logafter insert on ssdb_she_logfor e...原创 2018-03-22 14:57:10 · 281 阅读 · 0 评论 -
php底层学习-代码执行和变量的存储
本文是学习燕十八老师的视频总结php代码执行流程 php有zend引擎编译为opcode,然后由zend虚拟机来执行opcode,但是一执行结束,opcode就会被清除 可以安装第三方加速器(apc,xcache)来缓存opcode,zend自身不支持流程展示zend编译器(执行opcode) ↑ zend虚拟机(编译opcode) ↑ 操作系统...原创 2018-04-08 11:20:43 · 689 阅读 · 1 评论 -
php底层学习-从底层分析引用
本文从燕十八老师视频学习中总结给变量赋值的时候发生了什么?例如: $a = 1; $b = $a; 在第一次赋值的时候,产生了一个结构体,并在symbol_table中记录了变量名和结构体的内存地址 { {zvalue:1length:1} type:is_LONG refcount_gc:1 is_ref_gc:0 }其中值是记录...原创 2018-04-08 12:31:37 · 462 阅读 · 0 评论 -
实现vim编辑器自动补全php代码
有时候需要在服务器端修改代码,但是没有自动补全功能实在是麻烦,就学习了一下,实现了自动补全功能一:下载php函数库官方地址http://svn.php.NET/viewvc/phpdoc/doc-base/trunk/funclist.txt 或者在此地址下载 https://download.csdn.net/download/fei003/10326273二:复制到家目录...原创 2018-04-04 10:23:31 · 1999 阅读 · 0 评论 -
php中抽象类和接口的区别
抽象类和接口的区别抽象类:单继承,用extends关键字可以有常量和变量属性可以有构造方法抽象类中方法可以使用public,static,private,protect关键词方法中可以实现相应的逻辑抽象方法中不能有方法体接口:可以实现多继承,用implements或者extends关键字继承可以有常量,但是不能有变量没有构造方法方法一般使用public关键词修...原创 2018-04-19 09:17:30 · 372 阅读 · 0 评论 -
php中对类中静态方法和静态属性的学习和理解
什么是静态方法或静态属性 static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法静态方法的特点 1.static方法是类中的一个成员方法,属于整个类,即使不用创建任何对象也可以直接调用! 2.静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。 3.静态方法和...转载 2018-05-11 10:24:43 · 1787 阅读 · 0 评论 -
php的php_igbinary.dll 文件下载地址
里面各个版本 http://windows.php.net/downloads/pecl/releases/igbinary/原创 2018-01-18 16:45:01 · 10539 阅读 · 0 评论 -
对数组进行分页处理
遇到一个场景,只能全部查出来然后再分页 所以进行了封装一下,针对数组进行分页 三个参数 数组,页码,每页记录数 public function pageArr($arr,$page,$pagesize=6) { $page = (int)$page; $pagesize = (int)$pagesize; $pagecount =原创 2018-01-17 17:00:05 · 691 阅读 · 0 评论 -
对二维数组进行倒置
在做商城站的后遇到了这样的情景,我需要对规格重新组合下,本来规格时这种格式,$arr = [ ['a1','a2','a3','a4'], ['b1','b2','b3','b4'], ['c1','c2','c3','c4']];我需要转化成这种$arr = [ ['a1','b1','c1'], ['a2','b2','c2'],原创 2017-09-25 15:54:26 · 3690 阅读 · 0 评论 -
php使用phpexcel生成excel包含图片并导出
开发环境:linux框架:thinkphp3.2在之前遇到一个场景,是把excel表格中的数据解析出来,接触到了phpexcel,这个需要把商品信息导出表格,并且表格中还包含图片,所以这次又查了下,写下这次使用PHPexcel的经历以及遇到的坑首先把完整版代码贴出来,类库还是放在了vendor中public function getExcel(){ $ids =原创 2017-09-20 09:17:07 · 12655 阅读 · 0 评论 -
yii2 和 ios,android 调试接口遇到500错误,php遇到的坑
一 : php错误报告等级开的过高警告错误都提示,所以导致客户端接收的信息有错打开php/php.ini:修改error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED为error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING即可。原创 2017-12-13 14:37:52 · 571 阅读 · 0 评论 -
php超强校验身份证类库,验证身份证有效性,根据国家标准GB 11643-1999 15位和18位通用
先注明:是转载的,不是自己写的,我也写不出来这么好的https://www.cnblogs.com/bossikill/p/3679926.html用起来也很简单,直接传参就好了<?php/** * Created by PhpStorm. * User: 张** * Date: 2017/12/7 * Time: 15:38 */namespace app\m转载 2017-12-07 15:58:20 · 863 阅读 · 0 评论 -
nginx配置虚拟机遇到的坑
该网页无法正常运作 目前无法处理此请求。 HTTP ERROR 500?由于php.ini配置文件中错误显示关闭导致.将下值由Off 变更为 Ondisplay_errors = Ondisplay_startup_errors = On改过之后页面报错 Warning: Unknown: open_basedir restriction in effect. File原创 2017-12-08 00:23:56 · 2852 阅读 · 0 评论 -
在CentOS 6中安装NERDTree
文章转载自http://blog.csdn.net/shine_journey/article/details/53383418(1)安装方法很简单,先把压缩文件下载下来,解压。(2)将plugin目录下的NERD_tree.vim拷贝~/.vim/plugin以及doc目录下的NERD_tree.txt拷贝到~/.vim/doc. ~表示当前用户的目录,我的环转载 2018-01-02 10:14:13 · 402 阅读 · 0 评论 -
Windows下ElasticSearch安装中的问题解决-Error occurred during initialization of VM Could not reserve enough sp
http://blog.csdn.net/wonderluoying/article/details/53363971Java虚拟机内存限制问题安装过程中遇到VM初始化问题(提示如下):Error occurred during initialization of VMCould not reserve enough space for 2097152K转载 2018-01-04 10:47:02 · 3944 阅读 · 3 评论 -
接口文档的正确使用-记录自己使用接口文档中的坑
昨天接口调试遇到的坑下面是需求文档 调用地址 post 请求 https://apitest.bdc.abc.com/toilet/status/report 请求协议 参数名 必选 类型 说明 time Yes int 更新时间,Unix时间戳 male Yes Stat 男厕所状态信原创 2018-01-13 10:06:16 · 4888 阅读 · 0 评论