PHPerzh 为您找到相关结果 2056

PHP笔试之填空题

1、 判断一个变量是否存在的函数:isset 判断一个变量是否为null的函数:is_null 判断一个变量是否为空的函数:empty 销毁一个变量的函数:unset 2****、 $a =array(1,2); unset($a[0]); print_r($a); echo count($a); 请写出输出结果: 答:array(1=>2) ; 1 **3、 **$str = '2012/12/21'; echo ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\1/\2/\3",$str); 请写出输出结果:'2012/12/21' **4、 **$a = "aaa"; $b ="bbb"; ①$c = "$a$b"; ②$c = $a.$b; 请问...阅读全文

博文 2017-09-08 15:04:15 LiYanbin

php关键字use与require区别

假设 有文件a.php 代码 有文件b.php 代码 有文件c.php 现在有如下需求 需求1:需要在c.php中调用afun()。 需求1很简单 大家都懂 把a.php文件引入进来然后实例化a对象就行,require_once('a.php'); 需求2:在c.php中调用bfun() 与上面一样 require_once('b.php')就行。 需求3:在c.php中同时调用afun()与bfun() 问...阅读全文

博文 2017-08-14 17:04:21 阿亮_乐享工作室

laravel + EasyWeChat 使用笔记 网页授权,微信支付,模板消息

最近做了个项目是关于微信网页开发的,今天记录下在做项目中的关于微信这块遇到的一些坑 * 关于微信这块,用的是EasyWeChat,提高了开发的效率.在看EasyWeChat这个文档的时候发现了有专门针对laravel 框架的包,所以就用了laravel-wechat 首先是安装这个composer包 composer require "overtrue/laravel-wechat:~3.0" 接着注册ServiceProvider,由于看github文档说明时,文档上有错误LaravelWeChat写成了小写Laravelwechat 在phpstorm中按ctr点击鼠标也能跳转方法,但是在运行项目的时候报找不到这个类,最后看了github上的issue有人遇到同样的问题,发现了这个大小写...阅读全文

博文 2017-10-24 07:00:31 binxyz

PHP面试总结

从8月15号来到北京一直到今天,一月有余。来的这段时间一直准备笔试面试,大大小小的公司,乱七八糟面了10多家,近期才安顿下来。面试的这段时间感觉自己成长了不少。初来到这个陌生的城市一脸茫然,不会乘地铁、不会有挤公交、不会恰如其分的生活。。。 面试是进入职场的第一道坎,因为我本身学校太一般的问题在面试中遇到了各种不爽,和那些高学历的相比自己真是信心大跌。我面试的方向是php开发工程师,主要做网站后台、APP接口等。我所面试的公司、试题、心得都在我的个人网站上,感兴趣的可以看看:www.zhaoyafei.cn。下面是我这段时间总结的面试方面的常考常问的知识点,不对之处欢迎指出。知识点全部都在是面试中遇到了,基本上每面试一家公司,我都会总结在上面。希望对大家有所帮助。 总结: 这是面试我所遇到的...阅读全文

博文 2017-06-14 16:31:13 zyf-zhaoyafei

laravel配置文件(自定义配置文件)

laravel配置文件存放目录config里面的文件是自定加载的,也就是说,你在文件夹里面新建一个custom.php,按配置格式写,是可以正常访问的. 1.读取配置的方法: $value = config('app.timezone'); 即使用内置的config函数+配置文件名+配置参数名方式来读取配置的值 2.设置配置的方法(只是在运行时(runtime)配置,不会写入到配置文件里) config(['app.timezone' => 'Asia/Shanghai']); PS:上面用了数组的省略写法 3.缓存配置 php artisan config:cache 4.临时关闭网站 php artisan down 再打开 php artisan up 配置文件的自动加载,读取等: h...阅读全文

博文 2017-12-11 00:00:31 fps2tao

PHP5.0到PHP7常用语法糖整理

整理一下从PHP5开始的一些语法糖,也就是PHP版本的一些差异改变。 数据类型(Boolean,String,Array) 1.Boolean:空对象在4.0以后都视为true。 2.String:内部结构类似array,可以像array一样访问 $str = 'abcde'; echo $str[1]; //b echo $str{2}; //c 全局变量 SERVER_ADDR IP地址 127.0.0.1 SERVER_NAME 主机名 localhost SERVER_SOFTWARE 服务器类型 nginx REMOTE_ADDR 客户端IP. 127.0.0.1 $_FILES['file']['name'] 图片原名称 $_FILES['file']['type'] 图片MIM...阅读全文

博文 2017-10-26 15:02:07 一片枫叶ing

CTF之php变量覆盖漏洞

什么是变量覆盖漏洞自定义的参数值替换原有变量值的情况称为变量覆盖漏洞经常导致变量覆盖漏洞场景有:$使用不当,extract()函数使用不当,parse_str()函数使用不当,import_request_variables()使用不当,开启了全局变量注册等。extract()函数使用不当1.extract()函数介绍extract() 函数从数组中将变量导入到当前的符号表。该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。该函数返回成功设置的变量数目。2.语法extract(array,extract_rules,prefix)参数 描述array必需。 规定要使用的数组。extract_rules可选。 extract() 函...阅读全文

博文 2017-10-30 21:04:07 nice_o

PHP微信公众号支付部分流程

1.登录微信商户平台 复制这两个签名文件,准备替换DEMO中去 微信官网下载PHP微信支付DEMO 替换掉原来微信支付DEMO里sdk cert文件夹中的两个证书文件 设置API密钥,用来填写配置文件 在API下方设置次数为100次(最高是100次) 修改lib下的配置文件 APPID和APPSECRET是在微信公众号查看MCHID为商户号,KEY为前面步骤设置的API密钥 复制4个文件到项目中去 设置支付授权目录,JSAPI所在的路径 首次运行官方Demo可能会出现下面的错误 Fatalerror: Uncaught exception ‘WxPayException‘ with message ‘curl出错,错误码:60‘ in D:\wwwroot\weixinpaytest\lib...阅读全文

博文 2017-09-28 18:05:10 townfish

PHPStorm常用插件及安装方法

进入 File -> Settings -> Plugins -> Browse repositories ,搜索你想要的插件推荐几个常用插件.env files support可以在env函数使用是提示.env文件中所有的key值的自动完成功能Markdown support在编写.md文件时有预览的功能PHPcomposer.json support在做php组件开发时,编辑composer.json文件时有对应的属性和值的自动完成功能Laravel Plugin在使用 view route config 函数时,提示对应的所有路径和值的自动完成功能Swagger PluginPHP Annotation上面这两个插件要一起安装,在项目中安装了zircote/swagger-php组件之...阅读全文

博文 2017-08-29 10:04:50 _轨迹_

Laravel 在构造方法中使用session

在一个控制器的构造方法中尝试了全部常规获取session的方法,均无法获取 查阅资料后在文档中发现 在Laravel以前的版本中,可以在控制器构造函数中获取session变量或者认证后的用户实例。 在Laravel 5.3中,在控制器构造函数中不再能够直接获取到session变量或认证后的用户实例,因为中间件还未启动。 仍然有替代方案,那就是在控制器构造函数中使用Closure来直接定义中间件。 请注意,在使用这个方案的时候,确保你所使用的Laravel版本高于 5.3.4: 也就是说在构造方法执行的时候web中间件还未执行因此无法使用session 但我们可以在构造方法内通过定义中间件来使用session public function __construct(){ $this->midd...阅读全文

博文 2017-11-12 00:00:31 soeben

PHP性能优化

PHP虽然是世界上最好的语言,但是它本身作为一门脚本语言,其运行效率一直被人们所诟病。 作为以PHP为开发语言的应用程序而言,PHP程序的性能能影响到整个架构性能的百分之30左右,不会超过百分之50,其余的是硬件的、操作系统的、存储的等等其他性能优化;因此,PHP程序的性能好坏,对于整个系统架构而言,还是很重要的。 PHP的性能优化分为一下三个层次: 这三个层次性能优化的难度依次上升,效果却依次降低。在此,我们重点讨论前两种层次。 PHP代码的优化多使用PHP内置的函数,少使用PHP代码,且精简PHP代码PHP的执行流程为: 这个原理是很简单的,PHP是解释型语言,PHP代码得经过好几步转化才能变成最终的机器码,假如PHP代码写的很多,不够精简,转化的步骤就会变长,自然会影响PHP程序的性能...阅读全文

博文 2017-09-06 08:52:56 RyuGou的博客

laravel中session的过期时间

在项目开发的过程中,前后端分离 需要用session保存用户的登陆信息 这就涉及到session的有效期了 session又分为php中的session有效期和laravel中的session的有效期 他们默认的有效期是 在php.ini中查看 session.gc_maxlifetime 默认是1440秒 差不多是24分 而laravel的session有效期是在 config/session.php中 'lifetime' => 120,'expire_on_close' => false, 如果'expire_on_close'设置为false的话,'lifetime'有效,如果'expire_on_close'设置为true的话,'lifetime'无效 关于laravel的sess...阅读全文

博文 2018-07-17 13:00:31 djwhome

PHP7 下安装并使用 xhprof 性能分析工具

xhprof 的安装 该 xhprof 版本是从 https://github.com/longxinH/xhprof 获取,如有更好的选择,烦请联系我。 cd ~ git clone https://github.com/longxinH/xhprof 安装 xhprof cd xhprof/extension/ /opt/php-7.0.14/bin/phpize ./configure --with-php-config=/opt/php-7.0.14/bin/php-config --enable-xhprof make make install 出现 Installing shared extensions: /opt/php-7.0.14/lib/php/extensions/n...阅读全文

博文 2017-08-25 13:02:04 豆花饭烧土豆

php exec函数 Unable to fork [dir] 错误解决笔记

简单来说,就是我编写了一段代码 exec('dir'),php会报错,提示 Unable to fork [dir] ,并且exec函数第三个参数返回值为-1。为了解决这个问题,我做了大量搜索,花了几乎一整的时间,尝试了网上提到的各种办法,最终问题得以解决,不过还是有很多不太清楚的地方,本文只是记录一下心得。 我的环境 Windows Server 2012 R2, IIS-8.5, PHP-5.6.28 问题查找顺序 1. 确定:检查php.ini的disable_functions是否包含了exec 2. 确定:C:\Windows\System32\ 路径被加入到环境变量中 2. IIS默认会建立一个IIS_IUSRS组,还有一个默认用户叫IUSR 3. php官网提到,exec函数会...阅读全文

博文 2017-09-14 19:02:06 xshanj2

Laravel记录一之修改器和访问器

最近在给前端写API的时候,需要处理前端传过来的附件。由于架构的原因,不能使用本地存储,或者文件存储之类的,更不能使用类似于“fopen”这样的函数来处理(当然,我不是看不起他们)。项目目前是前后端完全分离的,前端采用的是Vue,而后端接口采用的是Laravel的阉割版—lumen框架。 于是这里附件的存储和传输就采用了阿里云OSS(当然了,这也没有什么技术含量,看看文档什么的就能搞定的)。在前端选择图片之后调取集成了阿里OSS的接口,直接上传并进行云存储。在前端存储之后,回返回一个对象数组,这个对象数字里就含有大量的附件保存的信息,包括数据库存储和阿里OSS的存储信息。于是在我们重新得到这个信息包的时候就很麻烦了,因为没有相应的字段来存储,所以这个时候就需要用到修改器和访问器了(参考lar...阅读全文

博文 2017-12-16 14:02:35 一片枫叶ing

php 过狗一句话木马的编写

我们都知道 这个是php一句话 可是服务器的安全狗会识别到,我们要经过一些处理, 让安全狗不能认出我们的代码是一句话木马。 好多小白只会用一句话,但是不知道原理,我先大概说一下一句话木马的原理 assert是一个php的函数 assert(这里写代码) 这个函数会执行括号里的代码,(eval 的一句话木马类似 区别不细说) $_POST['mima']; 这句的意思是 接收表单的name为 "mima"的数据 怎么接收?通过POST请求,例如我们post mima=1234,那么$_POST['mima']的值就是1234 如果我们语句构造成这个 assert($_POST['mima']); 然后再post mima = sy...阅读全文

博文 2017-12-18 19:01:00 nzjdsds

Python的面试题大全

利用闲暇时间,将网上所有关于Python的面试题做一做,不会的使用Google搜索了一下,整理学习,也为方便大家不用再东找西找 注: 持续保持更新状态,答案更新的字体会加黑加粗 1. Python的函数参数传递 a = 10 b = 20 def fun(a, b): print('func_in', id(a), id(b)) a = 5 print('new_in', id(a), id(b)) c = a + b return c print('func_out', id(a), id(b)) print fun(2, 3) 参数是通过assignment来传递的. 1.传递的参数实际上是内存中一个对象的引用(只不过通过值传递的) 2.一些数据类型是可变的,有些是不可变的 对象种类 类...阅读全文

博文 2017-09-21 00:04:11 happyshui

paginate分页及手动分页(laravel)

Paginate分页 //ORM 默认分页 $students=Student::paginate(5); //显示 $students->render(); // 使用简单模板 - 只有 "上一页" 或 "下一页" 链接 Student::where('cars', 2)->simplePaginate(15); // 手动分页 $item //手动查询到的数据 $total //所有符合条件的数据总数量 $perPage //每个页面,数据显示的条数 Paginator::make($items, $totalItems, $perPage); 手动分页详解 laravel自带的分页功能十分强大,只不过,在使用 groupBy 语句的分页操作时,无法由 Laravel 有效执行。如果你需...阅读全文

博文 2017-09-13 19:00:32 yunchuang96

laravel sql复杂语句,原生写法----连表分组

### 使用了临时表、又分组又连表的感觉好难写,使用拉 ravel 但是现在越来也相信,没解决一个新的难题,自己又进步了一点点 ### 原生的sql: 1 select user_code, realname,sum(points) sum_points, user_id,source_type, t.is_verify, count(source_type) counts from 2 (select * from point_logs where source_type in ('layer', 'manager' , 'chief') ) t 3 left join users as u on u.id = t.user_id 4 where t.is_verify BETWEEN 1...阅读全文

博文 2017-07-20 09:00:36 smallyi

php实现异步非阻塞操作

之前探讨的实现php异步非阻塞的请求,使用的多进程,最后面临的问题成了框架数据库连接的单列模式与多进程的矛盾,解决矛盾,要么修改单列模式,要么使用原生的接着完成剩下的功能,仔细想想,两项任务都很艰巨,前者可以影响很多地方的功能,后者实在需要完成的任务太多了,所以开始另辟蹊径。(忙于其他事情忘记了)。 php自带了一个可以实现异步非阻塞的功能的函数。因为这个函数可以在php中直接调用并且不需要等待返回,直接往下执行代码。 前提:在执行前需要做些配置 ignore_user_abort(true);//函数设置与客户机断开是否会终止脚本的执行 在此设置为true set_time_limit(0);//由于执行的任务数据量一般比较大(不然不会有异步非阻塞的需要的),需要该项配置 代码演示: 下面...阅读全文

博文 2017-06-28 17:03:05 翟雪伟

laravel 的 intervention-image 图像处理笔记

安装: 需求: PHP >= 5.4 Fileinfo 扩展 GD库 >= 2.0 Imagick 扩展 >=6.5.7 composer安装: composer require intervention/image laravel配置: 1.编辑 config/app.php $providers 添加 'Intervention\Image\ImageServiceProvider::class' $aliases 添加 ''Image' => Intervention\Image\Facades\Image::class' 2.默认使用的是 'GD' 库,想修改的话,需要配置驱动,我们来生成配置文件: php artisan vendor:publish --provider="Int...阅读全文

博文 2017-07-03 15:01:39 u012767761

PHP yar的使用简介

Yar是什么 Yar是并行的RPC框架(Concurrent RPC framework),Laruence开发。 安装 下载地址:http://pecl.php.net/package/yar windows版本下载对应的扩展放到ext目录并更新php.ini: [yar] extension=php_yar.dll Linux版本下载扩展的源码进行编译,将编译出来的so动态库放到extensions目录(例如/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/)并更新php.ini: [yar] extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20...阅读全文

博文 2017-07-21 12:02:05 hansonwong

CGI、fastCGI、php-fpm都是什么?其工作原理流程是怎样的?

1.CGI? 最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html。事物总是不 断发展,网站也越来越复杂,所以出现动态技术。但是服务器并不能直接运行 php,asp这样的文件,自己不能做,外包给别人吧,但是要与第三做个约定,我给你什么,然后你给我什么,就是握把请求参数发送给你,然后我接收你的处 理结果给客户端。那这个约定就是 common gateway interface,简称cgi。这个协议可以用vb,c,php,python 来实现。cgi只是接口协议,根本不是什么语言。 CGI工作原理:每当客户请求CGI的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如php-cgi.exe),CGI 的一个进程则处理...阅读全文

博文 2018-01-19 11:01:02 sinat_16181325

图片处理神器ImageMagick以及PHP的imagick扩展

iMagick的作者并未告诉大家可以使用那些函数以及方法,这些函数和方法都是从source文件中的定义找到。作者摸索测试。请大家在有example的代码情况下做测试,不然很难用明白。 imagick 类 imagick ::adaptiveblurimage 向图像中添加 adaptive 模糊滤镜 imagick ::adaptiveresizeimage 自适应调整图像数据依赖关系 imagick ::adaptivesharpenimage自适应锐化图像 imagick ::adaptivethresholdimage 基于范围的选择为每个像素的亮度 imagick ::addimage 图像列表中添加新图像 imagick 对象. imagick ::addnoiseimage 给图...阅读全文

博文 2017-11-18 02:02:05 花花世界欢乐多

laravel 创建自定义全局函数

全局函数的实现是依靠在初始化的时候,将helps.php或者functions.php直接进行了加载。而Laravel中bootstrap/autoload.php(laravel 5.5 貌似没有这个文件)中可以定义在初始化的时候加载什么文件。 在默认的情况下,有以下一条加载配置: require __DIR__.'/../vendor/autoload.php'; 同样,我们也可以加载其他的文件,比如以下的加载操作: require __DIR__.'/../app/Common/functions.php'; 方式二: composer.json 中的 autoload 下增加 "files": [ "app/Common/functions.php" ] 然后执行: composer...阅读全文

博文 2017-12-17 00:00:31 hexuejuan

PHP 内置函数大全

基本知识 1、引用 php语言中有引用的概念,相当于指针。如$a = &$b 1 2 3 4 5 6 2、运算符优先级 (new) > (++、–) > (*、/、%) > (+、-) > (&&)> (||) > (?:) > (==) > (and) > (xor) > (or) WEB编程 1、_GET和_POST获取表单数据 2、处理多选框时,要在html中定义成数组的形式,如 内置函数 数组内置函数 (1) for、foreach循环输出数组元素 for:按整数顺序索引排列数组...阅读全文

博文 2017-11-24 02:00:01 jamescr7

PHP注释规范、方法和作用

PHP 注释 (Comments) 有两种类型:一种是单行注释,一种是多行注释。PHP 单行注释语法在一行中所有 "//" 符号右面的文本都被视为注释, 因为 PHP 解析器忽略该行 "//" 右面的所有内容。 示例如下: 也可以一行只写注释,不写代码,如下: PHP 多行注释语法PHP 多行注释以 "/*" 开头,以 "*/" 结束。在 "/*" 和 "*/" 之间,可以写多行注释。 示例如下,红色部分就是多行注释的内容。 4.1 块注释块注释通常用于提供对文件,方法,数据结构和算法的描述。 块注释被置于每个文件的开始处以及每个方法之前;它们也可以被用于其他地方,比如方法内部。 在功能和方法内部的块注释应该和它们所描述的代码具有一样的缩进格式。 块注释之首应该有一个空行,用于把块注释和代码...阅读全文

博文 2017-10-24 13:04:09 找前辈网

composer安装Laravel

介绍 服务器准备好后,下面就可以在服务器上安装 Laravel 了,我们通过 PHP 的包管理工具 Composer 来进行安装 Laravel,首先要安装 Composer 。 由于某种你懂的原因,在国内可能无法连上 Composer的服务器。那么有两种选择: 连接VPN或者使用国内镜像。 我尝试了连接VPN,发现操作很繁琐,配置PPTP、路由、DNS 服务器等等,可能是线路质量的原因,最后效果还是不理想,安装Composer速度还是不行,而且我本地 SSH 服务器速度也不给力,最终还是选择用国内镜像。 这里介绍一个目前还很好用的国内镜像网站:http://www.phpcomposer.com/ 。Composer 和 Laravel 的安装都可以使用这个镜像。 这边介绍的linux的,...阅读全文

博文 2017-06-14 16:57:39 xiajiandong1024

laravel webpack填坑(陆续更)

ie Promise支持需引入babel-polyfill, 在官方文档中js函数介绍有点少导致按babel-polyfill官方引入时找不到北 //webpack.mix.jsmix.js(['node_modules/babel-polyfill/lib/index.js', 'resources/assets/js/admin.js'], 'public/js/admin.js') 1 //node_modules/laravel-mix/src/Api.js 2 /** 3 * Register the Webpack entry/output paths. 4 * 5 * @param {string|Array} entry 6 * @param {string} output ...阅读全文

博文 2017-11-05 09:00:30 maxilo

PHP底层工作原理

最近搭建服务器,突然感觉lamp之间到底是怎么工作的,或者是怎么联系起来?平时只是写程序,重来没有思考过他们之间的工作原理: PHP底层工作原理 图1 php结构 从图上可以看出,php从下到上是一个4层体系 ①Zend引擎 Zend整体用纯c实现,是php的内核部分,它将php代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如hashtable、oo)、内存分配及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕zend实现。 ②Extensions 围绕着zend引擎,extensions通过组件式的方式提供各种基础服务,我们常见的各种内置函数(如array系列)、标准库等都是通过extension来...阅读全文

博文 2017-06-14 16:20:30 phphuaibei

php 导入/导出 csv 文件

php 导入/导出 csv 文件 1、简介 项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用原生PHP,实现了CSV格式数据的导入和导出功能。并解决相关乱码问题。 将xls转换成csv的文本格式,然后再用php分析这个文件,和PHP分析文本没有什么区别。优点:跨平台,效率比较高、可以读写。缺点:只能直接使用csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。 2、相关函数介绍 2.1、fgetcsv 参考:http://www.w3school.com.cn/php/func_filesystem_fgetcsv.asp 2.2、fputcsv 参考:http://www.w3s...阅读全文

博文 2017-07-24 00:00:00 ImCehnyx

PHP微信小程序支付——签名错误

先分清几个概念: 1.微信公众平台与微信商户平台是两个不同的平台 2.微信公众平台用于公众号、小程序等等的设置平台,包括APPID、APPSECRET(注:每个公众号、每个小程序的APPID都是独立的、不一样的,所以如果是要用某个小程序支付,那就要用那个小程序的APPID、APPSECRET,不能混淆) 3.微信商户平台是用于商户支付设置,微信商户的账号就是MCHID,进入微信商户平台后,设置的支付的密钥就是KEY,设置支付密钥前要安装操作证书以及设置操作密码等 4.微信支付目前有下面这几种,小程序支付实际调用的是公众号支付 5.微信号可以用来登录微信公众平台和微信商户平台,一个微信号可以申请多个公众号、多个小程序,多个微信商户号,所以在配置支付的时候一定要注意哪个小程序对应的哪个微信商户号...阅读全文

博文 2018-05-09 15:02:03 城市之雾

PHP图片处理的函数们

非专业认识怎么一眼看出我手上的几千张二维码是不同的,就在市场大哥们丢过来这个问题后的0.001秒,当时我作为一个开发内心是崩溃的,1000张二维码谁看起开可不都是一个样。在0.1秒之后,我做了这么一个决定。再给市场一批带编号的二维码! 做一个设想,给图片加编号。拟定好了编号规则,第一个遇到的问题就是给文字怎么在图片上。 这情况不外乎图片上写文字;文字转成图片合并。其实质目的和图片添加水印类似。下面先整理代码 (一)文字直接添加 function mark_text($background, $text, $x, $y){ $back=imagecreatefromjpeg($background); $color=imagecolorallocate($back, 124, 63 ,135)...阅读全文

博文 2017-12-13 18:02:05 0_0Loong

laravel响应的发送和程序终止

响应的发送是通过index.php中的$response->send();实现的 vendor\symfony\http-foundation\Response.php 1 public function send() 2 { 3 $this->sendHeaders(); 4 $this->sendContent(); 5 6 if (function_exists('fastcgi_finish_request')) { 7 fastcgi_finish_request(); 8 } elseif (!\in_array(PHP_SAPI, array('cli', 'phpdbg'), true)) { 9 static::closeOutputBuffers(0, true); 10...阅读全文

博文 2018-07-28 22:00:31 sunlong88

PHP中用json_decode()无法解析有换行符的字符串

在做主站wap部分数据转移到子站prod.thinkful.cn时,出现了一些以json格式存储的数据无法正常解析的情况,所以研究了一下,PHP中使用json_decode()函数解析带有换行符的字符串时,会有解析失败返回NULL的情况,后来摸索着解决了问题,用函数封装了json的加、解方式(将json编码中文的函数也写在里面了): // Chinese json function enjson($code){ $code = json_encode(urlencodeAry($code)); return urldecode($code); } function urlencodeAry($data){ if(is_array($data)){ foreach($data as $key=...阅读全文

博文 2017-09-11 14:04:18 Yumazhiyao

php集成PHystrix

PHystrix 参照了 Netflix的项目 Hystrix。我们叫豪猪。豪猪的作用。 部署hystrix-dashboard界面工具。 作为一个压根不懂java的程序员。跑java程序当然不是难事。 打war包 wiki中有教你的。../gradlew jettyRun。但也许实际上会遇到一些问题。比如,我用gradlew 会提示我下载安装对应的gradle。结果没下载下来。尴尬啊。在了解了什么是gradlew(会指定对应的版本)之后。我用brew intall gradle 下载了比较新的版本。然后直接用gradle jettyRun运行。默认是跑得 是 7979端口。不用打包就可以跑。 war包 gradle build 执行。war包在 /hystrix-dashboard/bui...阅读全文

博文 2017-08-29 23:04:16 言十年

php版本比较

当我打算安装laravel5.4框架时,服务器要求如下: image.png 然后我赶紧php -v查看了一下自己的php版本,发现是5.6.31. 我想着赶紧升级一下,结果到官网上找了半天都没有找到php5.6.4版本。。。 在百度google的过程中偶然发现大佬们的经验: php 语言专门提供了一个 version_compare 函数用于比较 php 不同版本的新旧,其函数的原型定义如下: mixed version_compare ( string $version1 , string $version2 [, string $operator ] ) 如果给定的两个版本,在第一个版本低于第二个时,version_compare() 返回 -1;如果两者相等,返回 0;第二个版本更低...阅读全文

博文 2017-09-20 22:04:11 zizhan

PHP 5.5 新特性

PHP5.5 前不久前刚刚发布,里面的新特性有什么?官方文档在这里: http://www.php.net/manual/zh/migration55.new-features.php 1 生成器 yield关键字 yield的中文文档在这里:http://php.net/manual/zh/language.generators.overview.php 查看文档,能知道yield的一个功能就是能有效的降低迭代的内存开销。比如官网的这个xrange例子: 阅读全文

博文 2017-06-14 16:40:00 yjf512

php 敏感词过滤

最近的任务是敏感词过滤(检测文章中的敏感词,手机号及网址并高亮),首先是百度和查看项目代码,于是有了 版本一: 1.worklevel.php //根据文章id获取敏感词库和文章内容 public function actionSpecial($id){ $SensitiveWord = SensitiveWord::find()->where(['status'=>SensitiveWord::STATUS_1])->all(); $text = ArticleContent::find()->where(['article_id' => $id])->asArray()->all(); $content = $text[0]['content']; $test = SensitiveWo...阅读全文

博文 2017-07-18 12:02:06 xsctx7788

微信小程序获取用户授权后的加密资料获取(PHP版本)

概要: 1. 介绍流程 2. SDK测试 3. Laravel 集成 4. 注意事项:mcrypt_module_open 在php7.1 之后废弃,看:http://www.php.net/manual/en/function.mcrypt-module-open.php 全文: 微信小程序的授权流程 https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxchecksessionobject 需求是: 同一个微信用户在手机APP微信授权和通过微信小程序访问,都能判断是同一个人, 在微信开发平台绑定相关应用后,会得到相同的unionid 作为标识。 在手机上授权得到unionid 是APP 的事情,操作起来简单,但是在微...阅读全文

博文 2017-07-24 13:04:16 浪来了2016

PHP生成zip压缩包

压缩一个文件 我们将一个文件生成一个压缩包。 open($filename,ZipArchive::CREATE); //打开压缩包 $zip->addFile($path,basename($path)); //向压缩包中添加文件 $zip->close(); //关闭压缩包 上述代码将c:/wamp/www/log.txt文件压缩生成了test.zip,并保存在当前目录。 压缩多个文件 压缩多个文件,其实就是addFile执行多次,可以通过数组的遍历来实现 阅读全文

博文 2017-09-08 00:00:01 whcghost

laravel 模型工厂 简单使用

Laravel 使用填充类和测试数据提供了一个简单方法来填充数据到数据库。所有的填充类都位于 database/seeds目录。填充类的类名完全由你自定义,但最好还是遵循一定的规则,比如可读性,例如 UserTableSeeder等等。安装完 Laravel 后,会默认提供一个DatabaseSeeder类。从这个类中,你可以使用 call方法来运行其他填充类,从而允许你控制填充顺序。 定义模型工厂先在 database/factories/ModelFactory.php 文件中定义一个工厂: $factory->define(App\Test::class, function (Faker\Generator $faker) { return [ 'name' => $faker->na...阅读全文

博文 2017-07-11 11:07:50 高校邦MOOC

laravel数据库返回值

一些基本概念: stdclass 对象:基础的对象 Eloquent模型对象(Model 对象):和模型相关的类对象 Eloquent 集合:可以简单理解为上面的对象数组,里面的每一个元素都是一个Model 对象 all和get返回集合 查询构造器区别 使用DB门面查询构造器返回的值是stdclass类型 使用orm模型返回的是eloquent模型对象 细节: stdclass:字段前面的符号是+号 stdclass:+号 orm模型对象:字段前面的符号是#号 orm:#号 使用注意细节: stdclass:laravel中支持使用toArray()函数返回转变为数组,但是有时候都不行,个人使用的是 $product = json_decode(json_encode($product),t...阅读全文

博文 2017-08-14 11:04:53 LeeBoot

生成假数据

在实际的项目开发过程中,我们经常会用到一些假数据来对数据库进行填充以方便调试程序。Laravel 提供了一套现代化、非常简单易用的数据填充方案。接下来让我们使用 Laravel 提供的数据填充来批量生成假用户。 假数据的生成分为两个阶段: 对要生成假数据的模型指定字段进行赋值 - 『模型工厂』; 批量生成假数据模型 - 『数据填充』; 模型工厂 Laravel 默认为我们集成了 Faker 扩展包,使用该扩展包可以让我们很方便的生成一些假数据。 示例如下: // 使用 factory 来创建一个 Faker\Generator 实例 $faker = Faker\Factory::create(); // 生成用户名 $faker->name; // "Janie Roob" // 生成安全...阅读全文

博文 2017-09-17 11:04:38 灬独步天堂灬

PHP基础知识笔记

PHP常用的函数 1. substr— 返回字符串的子串 string substr ( 字符串 ,开始的位置,[长度 ] ) 2. json_encode— 对变量进行 JSON 编码(将数据解析成json格式字符串) json_decode — 对 JSON 格式的字符串进行编码(将json格式转成字符串) utf8_encode — 将 ISO-8859-1 编码的字符串转换为 UTF-8 编码(将非utf-8的字符串转成utf-8的格式) utf8_decode — 将用 UTF-8 方式编码的 ISO-8859-1 字符串转换成单字节的 ISO-8859-1 字符串。 3. in_array — 检查数组中是否存在某个值 4. empty— 检查一个变量是否为空 isset — 检...阅读全文

博文 2017-11-28 16:02:03 蒲公瑛

laravel 5.4在控制器构造函数中获取auth中间件失败

想在控制器的构造函数中取出登录的用户 ,保存到类的属性中。 当然可以用Auth::user(),可以做到,但是不想这么做。 没想到这个属性一直是空的。后来用xdebug调试,在中间件handle和构造函数处都打了个断点。 发现是先调用了构造函数,再调用的中间件的handle。 后来又看到了这篇帖子,看来就只能用Auth::user()来获取了...阅读全文