![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
一个路过的小码农~
这个作者很懒,什么都没留下…
展开
-
composer使用注意
1,内存不够时,前面加上: COMPOSER_MEMORY_LIMIT=-12,如果在windows上运行,提示缺少PHP extension pcntl扩展,后面加上 --ignore-platform-reqs原创 2022-02-28 22:22:33 · 101 阅读 · 0 评论 -
进程间的五种通信方式介绍-详解
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC 的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams 等。其中 Socket 和 Streams 支持不同主机上的两个进程 IPC。以 Linux 中的 C 语言编程为例。一、管道管道,通常指无名管道,是 UNIX 系统 IPC 最古老的形式。1、特点: 它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。原创 2020-11-24 15:22:17 · 1825 阅读 · 1 评论 -
php迭代器
php提供了一个语法结构用于遍历数组和对象foreach遍历数组用法1 <php2 //定义一个数组3 $arr = array("1","2","3","4","5");4 //用foreach遍历5 foreach($arr as $key => $value){6 echo '键名:'.$key.'键值:'.$value."<br>";7 }8 ?> 输出结果:键名:0键值:1键名:1键值:2键名:2键值:3键名:3原创 2020-07-16 00:17:18 · 263 阅读 · 0 评论 -
PHP标准库(PHP SPL)详解
什么是SPL?SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。似乎众多的 PHP 开发人员基本没有使用它,甚至闻所未闻。究其原因,可以追述到它那阳春白雪般的说明文档,使你忽略了「它的存在」。SPL 这块宝石犹如铁达尼的「海洋之心」般,被沉入海底。而现在它应该被我们捞起,并将它穿戴在应有的位置 ,而这也是这篇文章所要表述的观点。那么原创 2020-06-29 10:49:45 · 427 阅读 · 0 评论 -
PHP7.0常量const修饰符syntax error, unexpected 'const' (T_CONST), expecting variable (T_VARIABLE)
错误代码语法解析错误: syntax error, unexpected 'const' (T_CONST), expecting variable (T_VARIABLE)代码class Psr16Cache implements CacheInterface, PruneableInterface, ResettableInterface{ use ProxyTrait; private const METADATA_EXPIRY_OFFSET = 1527506...原创 2020-05-13 20:15:37 · 2054 阅读 · 0 评论 -
linux编译安装php
1,安装php(1)先安装如下依赖包$yum install -y gcc gcc-c++ autoconf make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-...原创 2020-04-02 22:11:17 · 439 阅读 · 0 评论 -
php基础知识整理6:正则表达式
1,正则表达式的作用:分割、查找、匹配、替换字符串2,分隔符:正斜线(/),hash符号(#),以及取反符号(~)3,通用原子:\d(0-9), \D(除了0~9),\w(数字字母下划线), \W(除了数字字母下划线), \s(空格),\S(除了空格)4,元字符:. 除了换行符 * 出现0,1,多次 ...原创 2020-03-22 13:48:45 · 281 阅读 · 0 评论 -
php基础知识整理5:静态变量
static 关键字1,仅初始化一次,2,初始化时需要赋值3,每次执行函数该值会保留4,static修饰的变量是局部的,仅在函数内部有效5,可以记录函数的调用次数,从而可以在某些条件下终止递归...原创 2020-03-22 12:26:50 · 83 阅读 · 0 评论 -
php基础知识整理4:运算符
顺序:递增/递减 > ! > 算数运算符 > 大小比较 > 相等比较 > 引用 > 位运算符(^) > 位运算符(|) > 逻辑与 > 逻辑或 > 三目 > 赋值 > and >xor > or 比较运算符: ==和===区别: 等值判断(false的七种情况...原创 2020-03-21 15:36:41 · 82 阅读 · 0 评论 -
php基础知识整理3:常量
定义:const,define const更快,是语言结构,define是函数 define不能定义类的常量,const可以 常量一经定义,不可以被修改和删除预定义常量: __FILE__:文件的路径名和文件的名称 __KINE__: 所在行的行号 __DIR__: 所在目录 __FUNCTION__:所在的函数体的函数名称 __...原创 2020-03-21 14:27:20 · 74 阅读 · 0 评论 -
php基础知识整理2:php数据类型
三大数据类型(标量:整形、浮点型、字符串、布尔型,复合:数组、对象,特殊:null、resource(资源))1,浮点型: 浮点类型不能用于比较类型当中 $a=0.1;$b=0.7; $a+$b =0.799999,不等于 0.82,布尔类型: false的七种情况:0,0.0...原创 2020-03-21 14:15:56 · 174 阅读 · 0 评论 -
php基础知识整理1:php字符串定义方式和各自的区别
1,单引号:单引号不能解析变量,单引号不能解析转义字符,只能解析单引号和反斜杠本身,变量与变量、变量与字符串、字符串与字符串之间可以用.连接。2,双引号:双引号可以解析变量,变量可以使用特殊字符和{}包括,双引号可以解析所有转义字符,也可以用.来连接。重要区别:单引号的效率要高于双引号。3,hereDoc和newDoc hereDoc(类似双引号) : ...原创 2020-03-21 13:44:03 · 347 阅读 · 0 评论 -
什么是phpize及其用法
应用场景在使用php的过程中,我们常常需要去添加一些PHP扩展库。但是重新对php进行编译是比较蛮烦的,所以这时候我们可以使用phpize对php进行添加扩展。并且phpize编译的扩展库可以随时启用或停用,比较灵活。使用方法extention为要挂载的扩展包wget extension.tar.gz下载相应的扩展包并解压。cd extension/切换到扩展extension的目录...原创 2020-03-09 15:39:13 · 124 阅读 · 0 评论 -
thinkphp5 取不到Model实例的 自定义字段 type
$proxy->type 得到的结果是 []空数组JdProxy.phpnamespace app\crm\model;use think\Model;// use app\admin\model\Common as BaseModel;class JdProxy extends Model { protected $table = '5kcrm_cr...原创 2020-03-09 12:44:10 · 287 阅读 · 0 评论 -
PhpStorm 中 terminal 修改为git bash后git log 中文显示问题修复
1、如果没有设置git bash 路径先设置路径在PhpStorm setting->Tools->Terminal->Shell path(找不到对应位置可在设置搜索Shell path)为 gitbash运行的路径如:D:\Program Files\Git\bin\bash.exe这样的路径。2、修复 中文显示问题找到GitBash安装目录,找...原创 2020-02-04 20:46:12 · 368 阅读 · 0 评论 -
smartgit 19.1免费试用的解决办法
第一种方式:步骤1:window+R打开运行,输入%APPDATA%\syntevo\SmartGit\步骤2:删除setting.xml就行了,再重新打开smartgit正常以上方式即可解决,但是19.1版本没有setting.xml文件第一步:同上第二步:进入对应的版本目录,比如19.1,然后删除preferences.yml文件,即可再使用30天。...原创 2020-02-04 20:47:45 · 1240 阅读 · 0 评论 -
PHP读取CSV文件
PHP读取CSV文件1、文件内容2、读取结果3、代码public function testAction( ) { $filePath = APP_PATH.'/data/111.csv'; $data = $t...转载 2020-01-18 10:50:57 · 537 阅读 · 1 评论 -
在浏览器查看base64格式的图片
主要用于查看图片验证码:在浏览器地址栏输入: data:image/jpeg(图片的格式);base64, base64字符串然后回车,就可以看到图片例子:data:image/jpeg;base64,/9j/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zND...转载 2020-01-10 20:51:39 · 11165 阅读 · 0 评论 -
php接收base64数据生成图片并保存
public function base64(){ //接收base64数据 $image= $_POST['imegse']; //设置图片名称 $imageName = "25220_".date("His",time())."_".rand(1111,9999).'.png'; //判断是否有逗号 如果有就截取...翻译 2020-01-10 19:44:56 · 721 阅读 · 0 评论 -
tp5模型时间戳自动写入设置成datetime,在数据库中为0000-00-00 00:00:00
TP5.1的配置database.php// 自动写入时间戳字段'auto_timestamp' => 'datetime',// 时间字段取出后的默认时间格式'datetime_format' => 'Y-m-d H:i:s',看了源码,发现还要设置一下protected $dateFormat = 'Y-m-d H:i:s';...原创 2020-01-07 17:05:49 · 1179 阅读 · 1 评论 -
PHP百万级数据导出方案(多csv文件压缩)
概述:最近公司项目要求把数据除了页面输出也希望有导出功能,虽然之前也做过几个导出功能,但这次数据量相对比较大,差不多一天数据就20W条,要求导7天或者30天,那么数据量就轻松破百万了甚至破千万,因此开发的过程中发现了一些大数据导出的坑,在此跟大家分享一下,互相学习。准备:1、PHP设置坑:set_time_limit – 设置脚本最大执行时间:此配置一般PHP默认是30秒,如果你是数据...转载 2019-06-17 14:40:05 · 371 阅读 · 0 评论 -
PHP最彻底的退出登录,清除session、cookie的代码
public function logout(){$_SESSION = array(); //清除SESSION值. if(isset($_COOKIE[session_name()])){ //判断客户端的cookie文件是否存在,存在的话将其设置为过期. setcookie(session_name(),'',time()-1,'/')...转载 2018-10-18 20:56:53 · 5174 阅读 · 1 评论 -
php中的匿名函数和闭包
一:匿名函数 (在php5.3.0 或以上才能使用) php中的匿名函数(Anonymous functions), 也叫闭包函数(closures), 允许指定一个没有名称的函数。最常用的就是回调函数的参数值。(http://php.net/manual/zh/functions.anonymous.php) 匿名函数的定义:$closureFunc = funct...转载 2018-09-21 15:19:39 · 92 阅读 · 0 评论 -
控制反转(IOC)和依赖注入(DI)
概念IOC(inversion of control)控制反转模式;控制反转是将组件间的依赖关系从程序内部提到外部来管理; DI(dependency injection)依赖注入模式;依赖注入是指将组件的依赖通过外部以参数或其他形式注入; 两个说法本质上是一个意思。 例如:class DbMysql{ public function query(){}}class ...转载 2018-09-21 14:34:23 · 62 阅读 · 0 评论 -
PHP JSON_ENCODE 不转义中文汉字的方法
ios程序中不识别读取到的JSON数据中 \u开头的数据。PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据。网上很多,但是其实都是错误的,正确的方法是在json_encode 中加入一个参数 JSON_UNESCAPED_UNICODE json_encode($data, JSON_UNESCAPED_UNICODE); //必须PHP5.4+...原创 2018-09-12 15:01:05 · 306 阅读 · 0 评论 -
SVN 报错:Unable to create pristine install stream
在.svn文件夾下手動新建文件夾tmp原创 2018-08-16 17:28:18 · 411 阅读 · 0 评论 -
php中将多个数组组合成笛卡尔积
在做商品属性时设计到多个属性直接参数的组合,因此用到了笛卡尔积这个概念。主要函数原理是利用递归的原理和求两个数组的笛卡尔积。首先是数组结构,如下:也可以根据实际情况修改为$a = Array();$b=Array();即可。 array (size=2) 0 => array (size=2) 0 => '48' (length=2) ...原创 2018-08-13 16:51:07 · 1224 阅读 · 0 评论 -
php单例模式
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。要点主要有三个:1.一个类只能有一个对象;2.必须是自行创建这个类的对象;3,要想整个系统提供这一个对象; 从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有...原创 2018-07-30 16:54:39 · 88 阅读 · 0 评论 -
PHP curl 的CURLOPT_POSTFIELDS之数组和字符串之谜
现象在最近的工作中遇到一个问题,就是使用post发送请求,post数据死活传递过不去,一直是请求返回error。 代码如下:$post = array( 'userid' => 1000034443,);function curlPost($url, $headers, $post){ $ch = curl_init(); curl_setopt($c...转载 2018-07-28 18:26:05 · 27390 阅读 · 0 评论 -
php上传文件 临时文件夹不存在
1.C:\Windows\Temp,文件夹 的IIS_Iusrs 和NETWORK SERVICR的读写权限2.修改PHP文件夹下的php.ini upload_tmp_dir ="临时文件夹"原创 2018-10-30 13:56:02 · 1587 阅读 · 0 评论 -
TP5模型修改器和读取器
现在所有的项目都是会把时间存成时间戳格式,取出的时候还要转换这时候就可以应用到读取器这个功能。读取器的命名规则是:驼峰 ,get+字段名+Attr 例如:getBirthdayAttr;比如我要获取生日。那么可以如下操作:<?phpnamespace app\index\model;use think\Model;class User extends Model...原创 2018-11-17 23:54:54 · 472 阅读 · 0 评论 -
PHP如何接收和解析xml
$_POST是通过HTTP POST方法传递的变量组成的数组。是自动全局变量。$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用...原创 2018-11-26 17:55:56 · 1521 阅读 · 0 评论 -
php 循环与引用的坑
今天项目集成富文本编辑器ueditor时,需要将图片存储到cdn源站,想通了流程,觉得这都小意思,一顿操作猛如虎,没想到跑起来时出问题了,定位原因,循环里死活取不到正确的数据, 话不多数上代码<?php$data = ['a','b','c','d'];foreach ($data as $k=>&$v){$v.=$k ;var_dump($v);}//...转载 2019-05-14 09:47:02 · 153 阅读 · 0 评论 -
php使用redis集合sadd批量添加的方法
call_user_func_array(array($this->redis,'sadd'),array('key',0,'we',2,'me',3,'td',8,'go'));//array第一项是这个有序列表或集合的键,后续的项目是排序权重,和值的交替...原创 2019-04-09 10:53:43 · 6675 阅读 · 0 评论 -
PHP操作Redis数据库常用方法示例
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis支持的数据类型有Stirng(字符串),List(列表),Hash(字典),Set(集合),Sorted Set(有序集合);redis版本是Redis 2.6.12 系统是在Windows+Apache2.4+php5.6连接:...转载 2019-04-08 15:44:24 · 76 阅读 · 0 评论 -
php一行代码获取本周一,本周日,上周一,上周日,本月一日,本月最后一日,上月一日,上月最后一日日期
本周一echodate('Y-m-d',(time()-((date('w',time())==0?7:date('w',time()))-1)*24*3600));//w为星期几的数字形式,这里0为周日本周日echodate('Y-m-d',(time()+(7-(date('w',time())==0?7:date('w',time())))*24*3600));//同...原创 2019-02-28 16:00:02 · 132 阅读 · 0 评论 -
php注意事项
1,数组遍历操作要加&,对象不要加&,因为对象默认为引用传递2,引用传递如果值没有改变,最后一个循环出来的变量会带上&3,遍历对象时,遍历完成后要unset($value)操作,否则后续循环遍历会引用前面的变量,导致循环出来的结果错误。4,unset()只取消引用传递,不取消原变量的空间...原创 2019-03-09 11:17:53 · 159 阅读 · 0 评论 -
使用php的strtotime()函数
我们在日常业务中,针对业务量,经常会采用对数据库按时间做横向分表,分表后的查询往往会涉及到时间问题。例如,我们想查询某个用户距离当前时间1个月的订单情况,在这个时候,我们有些会用到strtotime()函数去处理。 但是使用strtotime(),需要非常谨慎。我们先看一段代码,代码目的是想拿到几个月以前的年份月份,例如今天是2014年8月1号,我想拿到2个月前的年份月份是 array("0...转载 2019-02-28 12:26:33 · 381 阅读 · 0 评论 -
PHP的ob_flush()与flush()区别
一、首先说一下buffer。buffer是指内存地址空间。 1、Linux系统默认大小一般为4096(4kb)。 其主要用是存储速度不同步或者优先级不同的设备之间传处理数据的区域,可以使进程之间的相互等待变少。例如,当你打开一个编辑器,输入字符,操作系统并不会立即把这个字符直接写入到磁盘,而是先写入到buffer,当写满了一个buffer的时候,才会把buffer中的数据写入磁盘,当调用内...转载 2019-01-06 17:23:30 · 216 阅读 · 0 评论 -
PHP中文正则匹配
在javascript中,要判断字符串是中文是很简单的。比如:var str = "php编程";if (/^[\u4e00-\u9fa5]+$/.test(str)) {alert("该字符串全部是中文");} else {alert("该字符串不全部是中文");}想当然的,在php中来判断字符串是否为中文,就会沿袭这个思路:<?php$str = "php编程";if...原创 2018-11-27 12:49:08 · 4125 阅读 · 0 评论