PHP
文章平均质量分 66
ljihe
这个作者很懒,什么都没留下…
展开
-
PHP代码Git提交前添加 phpcs 语法检查
1.安装phpcssudo apt install php-codesniffer设置标准phpcs --config-set default_standard PSR2设置编码phpcs --config-set encoding utf-82.git集成提交前代码检查打开当前项目的.git/hooks目录,里面有很多xxx.sample文件, 其中一个就是pre-commit.sample。c...原创 2018-06-27 12:02:09 · 1218 阅读 · 0 评论 -
兼容ThinkPHP三种url模式的nginx rewrite
location / { root /var/www; index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; } }原创 2017-06-24 21:12:15 · 6491 阅读 · 1 评论 -
Linux 通过 ODBC 连接 SQL Server2008
在windows环境下,连接SQL Server还是比较容易实现的,可以通过微软上面下载扩展驱动sqlsrv,或者通过odbc方式,例如下载最新版的xampp就能够直接打开extension=php_pdo_odbc.dll 就能够使用odbc方式连接,还有mssql也可以,freetds也提供了windows版本的扩展。但在linux下就比较麻烦一点,毕竟微软的东西原本就不想跟linux有太原创 2017-06-03 22:19:45 · 7727 阅读 · 1 评论 -
PHPExcel 简单使用
require_once 'PHPExcel.php';$PHPReader = new PHPExcel_Reader_Excel2007(); $filePath = 'wjyl.xlsx'; if(!$PHPReader->canRead($filePath)){ $PHPReader = new PHPExcel_Reader_Excel5();//讀取舊版本}原创 2016-08-04 18:22:47 · 474 阅读 · 0 评论 -
png图片压缩工具pngquant
近期项目有个需求,将上传的png图片做压缩处理,节省空间及提升网站性能,刚开始的时候了解过imagemagick,但imagemagick在png图片压缩方面感觉不尽人意,有时候压缩后比压缩前还要大,所以需要寻求其它方案解决png压缩的问题。经过了解,找到了tinypng,在上面测试了下,png的压缩的确能够达到很好的效果,大小能够减少70%左右而且并不失真,本想着终于找到解决的方法了,但再经原创 2017-04-01 11:29:04 · 4487 阅读 · 0 评论 -
Memcached分布式布置方案
有时一台Memcached服务器不能满足我们的需求,需要布置多台Memcached服务器。但是有个问题,怎么确定一个数据应该保存到哪台服务器上面呢?有两种方案,第一种是普通的Hash分布,第二种是一致性Hash分布。下面通过PHP作为客户端来说明这两种方案。普通Hash分布function toHash($key){ $md5 = substr(md5($key), 0, 8原创 2016-11-12 21:46:45 · 446 阅读 · 0 评论 -
PHP 安装imagick扩展
Linux系统 CentOS;判断是否安装了ImageMagick:[root@instance-32spzihn ~]# rpm -qa|grep -i 'ImageMagick'ImageMagick-6.7.2.7-5.el6_8.x86_64ImageMagick-devel-6.7.2.7-5.el6_8.x86_64如果之前有安装。但感觉版本太旧,可以先卸载再安...原创 2016-11-09 22:22:40 · 1704 阅读 · 0 评论 -
Linux下php安装memcache扩展
安装环境:腾讯云Linux 服务器 ( CentOS ) php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法。1、下载下载地址:http://pecl.php.net/package/memcache最新下载包:memcache-3.0.8.tgz文件下载成功后上传至/usr/src目录 2、原创 2016-08-15 14:12:50 · 506 阅读 · 0 评论 -
Linux服务器下 PHP 安装 MongoDB扩展
你可以在linux中执行以下命令来安装MongoDB 的 PHP 扩展驱动:pecl install mongo也可以自己下载扩展驱动手机编译安装,首先要去下载扩展驱动压缩包并解压:[root@VM_19_53_centos src]# curl -O https://pecl.php.net/get/mongodb-1.2.0alpha2.tgz[root@VM_19_53_cen原创 2016-09-18 16:46:39 · 1192 阅读 · 0 评论 -
PHP 10进制转62进制
/** * 10进制转为62进制 * * @param integer $n 10进制数值 * @return string 62进制 */ function dec62($n) { $base = 62; $index = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW转载 2016-08-12 09:59:33 · 1566 阅读 · 1 评论 -
观察者模式学习
PHP的基本扩展SPL提供了观察者模式的SplSubject与SplObserver接口,接口定义可参照下面代码:/** * 这一模式的概念是SplSubject类维护了一个特定状态,当这个状态发生变化时,它就会调用notify()方法。 * 调用notify()方法时,所有之前使用attach()方法注册的SplObserver实例的update方法都会被调用。 * */inter原创 2017-07-13 16:18:51 · 417 阅读 · 0 评论 -
memcache存储session实现
为什么要用memcache来存储session数据?因为memcache把数据存在内存里,读取速度非常快。 首先要确保服务器已经安装了memcache,若已经安装好,查看启动的memcache服务:netstat -lp | grep memcached 查看memcache的进程号(根据进程号,可以结束memcache服务:“kill -9 进程号”):p原创 2016-08-29 13:59:59 · 650 阅读 · 0 评论 -
phpstorm 添加 phpcs 代码检查
1.安装phpcs使用 composer 全局安装phpcs,在命令窗口执行下面命令:composer global require "squizlabs/php_codesniffer=*" 若没有安装composer,请参照 PHP 的Composer使用笔记。2.phpstorm设置步骤一:打开设置并选择phpcs.bat,点击validate有ok提示框。步骤二:按照上面截图所示勾选启用标...原创 2018-05-23 11:16:52 · 1715 阅读 · 0 评论 -
PHP 的 Composer 使用笔记
Composer 将这样为你解决问题:a) 你有一个项目依赖于若干个库。b) 其中一些库依赖于其他库。c) 你声明你所依赖的东西。d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。首先检查当前是否已经安装了Composer,可以使用以下命令查看:如果未安装则通过官网下载并且运行 Composer-Setup.exe,它原创 2018-01-30 13:19:15 · 517 阅读 · 0 评论 -
Apache配置支持流媒体服务
Apache配置1. 下载mod_flvx.so、mod_h264_streaming.so模块。2. 编辑apache\conf\httpd.conf,查找LoadModule,在LoadModule的最后面(或者附近)配置:LoadModule flvx_module modules/mod_flvx.soAddHandler flv-stream .flvLoadModu原创 2017-10-27 18:08:33 · 6629 阅读 · 0 评论 -
nginx 报错 connect() failed (111: Connection refused) while connecting to upstream
公司网站搬迁到新服务器后,发现站点访问不了,network里面提示502,查看相关的server配置,感觉没有什么问题,经过测试发现txt、html、等非php文件能够直接访问,也就是php访问不了,初步断定有可能是php-fpm没有安装或者没有启动导致。首先判断php-fpm是否已经安装,没有安装的情况就需要先安装php-fpm,安装可以参数相关资料。确定好服务器已经安装了php原创 2017-09-18 23:29:40 · 69938 阅读 · 4 评论 -
PhpStorm 基本设置
更换皮肤:File->Settings->Appearance->Theme字体File->Settings->Editor->Colors & Font->font点save as 然后再自定义typo设置(底部波纹线,文字中间横线等)File->Settings->Editor->Colors & Font->General->Typo自动换原创 2016-12-10 15:07:55 · 4834 阅读 · 0 评论 -
html 转doc文档
html转doc的场景可能比较少见,但近期就遇到了一个,例如一份合同,需要后台不定期修改编辑,保存后,前端可直接下载doc。如果一份内容需要编辑,我能想到的就只有利用在线编辑器直接编辑html内容了,所以我考虑的就是建一份html模版,后台可以通过编辑器编辑,保存也是一份html模版,当前端用户下载的时候可以将html转成伪doc文件,然后再提供下载。首页需要的是一份html模版,内容随意,例原创 2017-08-25 09:58:16 · 2401 阅读 · 0 评论 -
将unicode编码后的字符串转换成可读形式
很多情况下,我们都会遇到经过unicode转换后的字符串,例如下面这条链接地址:https:\u002f\u002fHK1-word-view.officeapps.live.com\u002fwv\u002fwordviewerframe.aspx?ui=zh\u00252DCN\u0026rs=zh\u00252DCN\u0026WOPISrc=http\u00253A\u00252F原创 2017-08-21 17:55:00 · 5170 阅读 · 0 评论 -
libreoffice命令行方式将word、excel、ppt转成pdf
项目需要,上传doc、excel、ppt等格式文件到服务器,用户可以在线阅读。经过讨论,决定在上传文件的同时,转换出一份pdf文件保存,用户阅读就只需要展示pdf文件即可,下载可以下载原文件。因为pdf文件需要在web页面上展示还是比较方便的,直接使用html的embed标签就能实现,也可以使用一些pdf.js的插件实现:首先我们需要将doc等格式的文档转换成pdf,网上搜索一翻原创 2017-08-16 17:07:49 · 38254 阅读 · 3 评论 -
redis实现session共享,解决一个账号只能在一个终端登陆
一个账号在a电脑登陆了,此时在b电脑登陆,就会将a踢下线,需要解决两个问题:一、确保账号只能在一个地方登陆;二、登陆后发送消息通知;对于第一个问题,我们可以借助于session存储于redis之后,实现session在多个站点,多台服务器共享的情况下,统一通过session_id来管理用户的session数据,下面是一段session存储于redis的代码并且展示了通过sess原创 2017-07-08 11:10:53 · 17506 阅读 · 1 评论 -
PHP 通过HTTP_USER_ANENT获取浏览器及设备信息
一般做数据分析统计,都需要有判断访客数据的要求,例如访问是通过什么设备,什么样的浏览器来访问网址的,通过对一些大数据的分析处理,可以有针对性地做一些相关的优化。function getAgentInfo(){ $agent = $_SERVER['HTTP_USER_AGENT']; $brower = array( 'MSIE' =>原创 2016-09-13 10:24:44 · 7109 阅读 · 0 评论 -
根据公众号获取相对应的二维码
http://open.weixin.qq.com/qr/code/?username=公众号原创 2016-08-09 15:41:42 · 834 阅读 · 0 评论 -
php Captcha 練習
突然有個想法,就是去寫一個簡單的驗證碼類,其實驗證碼在很多框架有自帶的,網上一搜也一大把,我只是想當作是練習,熟悉一下過程。session_start();class He_Captcha{ private $str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVW"; private $text原创 2016-07-21 18:25:32 · 384 阅读 · 0 评论 -
PHP概率抽獎
get_rand 方法是一段經典的概率算法,$proArr是一個預先設置的數組,例如數組為:array(1=>5,2=>10,3=>10,4=>20,5=>25,6=>30),鍵對應的是中獎等級,值對應中獎概率,開始從1,100這個概率範圍內篩選第一個數是否在它的出現概率範圍之內,如果不在,剛將概率空間範圍收縮,在本例當中就是減去5,也就是說第二個數在1,95這個範圍內篩選的。以此類推,這樣篩選到原创 2016-07-21 18:23:14 · 347 阅读 · 0 评论 -
簡單的 PHP 將sql文件導入數據庫程序
phpheader("content-Type: text/html; charset=UTF-8");$conn=mysql_connect('localhost','root','123');//指定数据库连接参数if (!$conn){die('Could not connect: ' . mysql_error());}mysql_select_db('test',$conn)原创 2016-07-21 18:22:06 · 272 阅读 · 0 评论 -
PHP實時輸出
一般情況下,PHP都是任務全部執行完成後,才會把要輸出的內容輸出到頁面,例如下面代碼:for ($i = 0;$i$i++) { echo $i; sleep(1);}這段代碼會在10秒鐘後一次性輸出“0123456789”。但是有時候我們需要在PHP頁面執行過程中執行了輸出函數後就馬上把內容輸出,而不等待頁面全部執行完成,我們把代碼修改成下面這樣:原创 2016-07-20 21:58:50 · 372 阅读 · 0 评论 -
PHP實現任務計畫
當我們需要定時去執行某些程序任務的時候,如果人工操作,往往就會覺得操作起來不方便,或者就不是自動定時了,所以由程序去定時地執行一個任務,這是最好的選擇,下面是PHP實現任務計畫的一個例子:ignore_user_abort();//即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.set_time_limit(0);// 执行时间为无限制,php默认的执行时间是30秒,原创 2016-07-20 21:59:48 · 268 阅读 · 0 评论 -
P3P Header解決Cookie跨域問題
P3P P3P是一種被稱為個人隱私安全平臺項目(the Platform for Privary Preferences)的標準,能夠保護在線隱私權,使Internet衝浪者可以選擇在瀏覽網頁時,是否被第三方收集並利用自己的個人信息。如果一個站點不遵守P3P標準的話,那麼有關它的Cookies將被自動拒絕,並且P3P還能夠自動識破多種Cookies的嵌入方式。P3P是由全球資訊聯盟網所開原创 2016-07-20 21:56:53 · 525 阅读 · 0 评论 -
PHP header的一些用法
php//PHP header()函数用法/*** Function: PHP header() examples (PHP)*/// fix 404 pages:header('HTTP/1.1 200 OK');// set 404 header:header('HTTP/1.1 404 Not Found');// set Moved Permanently heade转载 2016-07-20 21:43:11 · 423 阅读 · 0 评论 -
抓取网站内容常见方法
php/*------------------------根据给出地址,获取网页及页面内的js,css文件按原文件名保存到本地-------------------------*/ $url = 'http://www.zzzzz.com/html_13.html';//页面路径 $dir = APP_PATH.'save-xiaohaopin/';//保存数原创 2016-07-20 21:40:01 · 792 阅读 · 0 评论 -
PHP按比例生成縮略圖片
一個頁面,列出幾百個頭像的圖標,。尺寸是64x64的,而我有全部圖標的160x160尺寸的,如果全部加載大圖標,那頁面顯示比較慢,那我就需要做出一份小圖標,如下:set_time_limit(0);$handle = opendir('icon/.');while( false !== ($file = readdir($handle)) ){ if($file != '.'原创 2016-07-21 18:27:44 · 280 阅读 · 0 评论 -
PHP 計算字符串長度函數
PHP內置的字符串長度函數strlen無法正確處理中文字符串,它得到的只是字符串所占的字節數。對於GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對於UTF-8編碼的中文,就是3倍的差異了(在UTF-8編碼下,一個漢字占3個字節)。以下函數可以得出正確的字符串字符個數。 function stringLength($str){ $c = 0;原创 2016-08-04 18:28:35 · 487 阅读 · 0 评论 -
Windows下配置nginx+php(wnmp)
作为开发者,我们常见的服务器有wamp,lamp,到现在的lnmp,下面就来给大家介绍下lnmp的配制方法,此文只介绍 PHP+NGINX的安装与配置,MYSQL不做说明!首先是下载软件NGINX-1.10.1PHP5.6.24安装nginx解压nginx到C盘,打开C:\nginx目录,运行文件夹下的nginx.ext测试是否启动nginx,打开浏览器访问原创 2016-08-11 10:52:44 · 502 阅读 · 0 评论 -
每天定时检测404链接
有一种业务需求是每天都要去采集很多链接,然后保存到数据库;有一种情况是你采集回来的链接有很多可能是不存在的页面,或者说过两天就不存在了,统称死链接;还有一种需求就是我要确保我采集回来的链接都不会是404的,至少能够把404的情况降到最低。可能有人会想,那简单,在采集回来的链接,循环每一条链接地址,然后获取它的头部信息返回的状态码判断是不是404,如果不是才保存到数据库,这不是最简单直接的方式吗原创 2016-08-19 14:02:08 · 1626 阅读 · 0 评论 -
PHP正则表达式的几则使用技巧
PHP正则表达式主要用于字符串的模式分割、匹配、查找及替换操作。使用正则表达式在某些简单的环境下可能效率不高,因此如何更好的使用PHP正则表达式需要综合考虑。PHP正则表达式的定义:用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。PCRE正则表达式PCRE全称为Perl Compatible Regular Express转载 2016-07-20 21:41:42 · 359 阅读 · 0 评论 -
Emoji表情处理
//php对于 Emoji表情的处理//当接收内容需要转换时://preg_replace_callback('/[\xf0-\xf7].{3}/','cal_fun', $str)function cal_fun($r){return '@E' . base64_encode($r[0]);}//当内容输出需要转换时://preg_replace_callback('/@E原创 2016-08-04 18:53:03 · 793 阅读 · 0 评论 -
汉字转拼音
/*-------------------------- * 汉字转拼音 * $str 要转换的字符串 * $split 是否要分割显示 * $isfirst 是否返回首字母 * $zwbd 是否过滤中文标点符号 * http://files.cnblogs.com/files/helin/tools.zip -原创 2016-08-04 18:51:02 · 538 阅读 · 0 评论 -
多数组求笛卡尔积
/*-------------------------------------- *+多数组求笛卡尔积 *-------------------------------------- */ 笛卡尔(Descartes)乘积又叫直积。设A、B是任意两个集合,在集合A中任意取一个元素x,在集合B中任意取一个元素y,组成一个有序对(x,y),把这样的有序对作为新的元素,他们的全体组成的原创 2016-08-04 18:46:28 · 1444 阅读 · 0 评论 -
curl post参数,接口接收不到数据问题
今天遇到一个问题,注册下发短信失败,总提示无法发送注册短信,请从新发送。 经检查,curl里面将post数据以json_encode的方法转码之后传递,而且各选项设置感觉没有问题,怎么接口就接收不到post过去的数据的呢,在网上也搜索了不少网友提供的资料,多多少少有些方向,大多都说是要改接收端获取数据的方法,不能单纯的以$_POST方式获取,修改传输方式,用http_build_quer原创 2016-08-04 18:44:11 · 12268 阅读 · 0 评论