PHP
IT界鸟叔
这个作者很懒,什么都没留下…
展开
-
MySQL大量数据插入各种方法性能分析与比较
不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入。插入的方式和数据库引擎都会对插入速度造成影响,这篇文章旨在从理论和实践上对各种方法进行分析和比较,方便以后应用中插入方法的选择。插入分析MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例:连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索引:转载 2016-02-24 11:23:34 · 2684 阅读 · 0 评论 -
PHP对编码的常用处理函数
一、获取字符串编码,这个也不是百分百准确,只是返回可能性最大的值。string mb_detect_encoding (string $str [, mixed$encoding_list = mb_detect_order() [,bool $strict = false ]] )$str : 被检测的字符串,长度短的话错误率比较高$encoding_lis原创 2016-03-30 17:47:50 · 648 阅读 · 0 评论 -
strlen 和 mb_strlen 与 substr 和 mb_substr 的区别
文档的解释:string substr (string $string , int $start [, int $length ] )返回字符串 string 由 start 和length 参数指定的子字符串。string mb_substr (string $str , int $start [, int $length [, strin原创 2016-03-16 18:06:00 · 2180 阅读 · 0 评论 -
PHP生成word文件插件PHPWord使用介绍
一、PHPword生成word文件原理phpword会先把要输出的文本或图片 还有样式、字体等信息保存为xml文件,不同的信息会保存在不同的xml文件中, $this->parts = array( 'ContentTypes' => '[Content_Types].xml', 'Rels' => '_rels/原创 2015-12-25 09:29:51 · 10366 阅读 · 0 评论 -
PHP实现多线程
参考:http://my.oschina.net/yanhx/blog/198114原创 2015-12-01 17:51:34 · 389 阅读 · 0 评论 -
PHP如何判断变量为空?
PHP如何判断变量为空? 这看似很简单的问题,其实不小心就很容易出错!一般我们判断变量为空常用的函数如下:empty($var) :检查一个变量是否为空。如果 var 是非空或非零的值,则empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果var 为空,则返原创 2016-03-23 10:20:45 · 698 阅读 · 0 评论 -
汉字转拼音(不带音调)
【JS 版本】实现原理:直接弄一字库,把要转换的字符串逐字跟字库匹配var pydis="吖a,阿a,啊a,锕a,錒a,嗄a,厑ae,哎ai,哀ai,唉ai,埃ai,挨ai,溾ai,锿ai,鎄ai,啀ai,捱ai,皑ai,凒ai,嵦ai,溰ai,嘊ai,敱ai,敳ai,皚ai,癌ai,娾ai,隑ai,剴ai,騃ai,毐ai,昹ai,矮ai,蔼ai,躷ai,濭ai,藹ai,譪ai,霭原创 2016-03-29 10:22:53 · 58764 阅读 · 3 评论 -
PHP的输出缓冲区的介绍及应用
什么是缓冲区?简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料.其实缓冲区最本质的作用就是,协调高速CPU和相对缓慢的IO设备(磁盘等)的运作. PHP在执行的时候,在什么地方有用到缓冲区?想要了解PHP的缓冲区,就要知道执行PHP的时候,缓冲区被设置到了什么地方.当执行转载 2016-07-15 10:01:52 · 448 阅读 · 0 评论 -
使用phpexcel库遇到中文出现错误问题
用excel来批量导入数据最好是先转换为csv文件再进行导入,因为csv是纯文本文件格式,文件中不会包含excel里的一些特殊符号。phpexcel库对于中文的支持不是很友好,如果csv文件中有中文字符,会出现乱码或读取不到该cell的值。解决方案:1、转换成csv文件2、用其他编辑器(如sublime)把文件的编码保存为utf8格式原创 2017-03-28 16:23:11 · 981 阅读 · 0 评论 -
Composer 使用简单教程
一、把本地项目推到远程(如git)作为composer的资源包作为composer的资源包必须要有个composer.json 文件可通过composer命令(http://docs.phpcomposer.com/03-cli.html#init):composer init 按照提示来自动生成。执行init命令时必须要再项目的根目录,因为composer.json文件必原创 2016-12-17 13:34:24 · 12768 阅读 · 0 评论 -
记录一些容易忘记的ThinkPHP使用技巧
1、自动生成模块目录在入口文件中定义如下:define('BIND_MODULE','Build'); //模块名define('BUILD_CONTROLLER_LIST','Index,User,Menu');//自动生成控制器define('BUILD_MODEL_LIST','Index,User,Menu');//自动生成模型类define('APP_PATH','./Ap原创 2016-08-26 14:56:19 · 736 阅读 · 0 评论 -
Windows 下Redis的安装教程和PHP使用Redis示例
一、安装Redis1、下载和安装redis下载地址:https://github.com/ServiceStack/redis-windows建议下载最新版的redis,下载完解压的D盘 (随意),如图:其中:redis-server.exe 是redis服务程序redis-cli.exe 是redis客户端程序redis-benchmark.exe 是re原创 2016-03-11 10:58:47 · 770 阅读 · 0 评论 -
$_POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别
HTTP_RAW_POST_DATA官方文档解释:原生POST数据。需要通过php.ini开启,开启后可通过全局变量 $GLOBALS['HTTP_RAW_POST_DATA'] 获取到post数据。需要设置 php.ini 中的 always_populate_raw_post_data 值为 On 才会生效不能用于 enctype="multipart/form原创 2016-07-08 11:50:08 · 4162 阅读 · 0 评论 -
初识composer
一、Composer简介Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。Co原创 2016-07-16 23:12:08 · 1245 阅读 · 0 评论 -
从10w条记录随机取出n条记录高效率解决方案
在从大量数据中随机取出n条记录应避免使用order by rand() ,否则效率会非常低个人觉得简单又高效的方案:第一步:取出所有数据放在数组中$data第二步:打乱数组排序 shuffle($data)第三步 : 取出前n个值 :array_slice ($data,0,n)原创 2015-12-18 10:27:56 · 829 阅读 · 0 评论 -
ecshop 会员登录注册业务逻辑实现
一、登录function login($username, $password, $remember = null) { if ($this->check_user($username, $password) > 0) { if ($this->need_sync) {原创 2015-11-04 22:34:52 · 2933 阅读 · 0 评论 -
Cookie和Session 详解
一、Cookie详解原创 2014-08-05 22:20:18 · 516 阅读 · 0 评论 -
免费快递100订单物流跟踪接口
免费订单物流跟踪接口,可以查询所有快递公司的跟踪原创 2014-08-14 11:58:45 · 2124 阅读 · 0 评论 -
利用xdebug对php代码进行性能分析
一、配置xdebug:xdebug.auto_trace = On原创 2014-08-08 11:58:54 · 836 阅读 · 0 评论 -
PHP.INI安全配置
(1) 打开php的安全模式 php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(), 同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd, 但是默认的php.ini是没有打开安全模式的,我们把它打开: safe_mode = on(2) 用户组安全 当safe_mode打开时,s转载 2014-08-01 09:33:36 · 790 阅读 · 0 评论 -
php output_buffering 缓存使用
buffer是一个内存地址空间,linux系统默认大小一般为4096(4kb)。主要用于存储速度不同步的设备或优先级不同的设备之间传递数据的区域。通过buffer可以使进程之间的相互等待变少。例如,当你打开一个文本编辑器,输入一个字符时,系统并不会立即写入磁盘。而是存储在buffer中,当写满一个buffer时,才会把buffer的内容写入磁盘。当然也可以使用flush强制将buffe转载 2014-07-31 17:16:09 · 723 阅读 · 0 评论 -
PHP开发调试插件xdebug安装与配置
一:xdebug介绍原创 2014-07-26 10:25:18 · 634 阅读 · 0 评论 -
php配置文件php.ini详解(php版本5.3.0)
short_open_tag = Off原创 2014-07-31 16:26:36 · 2331 阅读 · 0 评论 -
PHP命名空间namespace使用详解
在定义了命名空间的类中要创建php自带类的对象时,需要在类名前加一斜杠 ‘\’, 如: $objZip = new \ZipArchive();原创 2015-11-09 17:09:55 · 460 阅读 · 0 评论 -
CURL使用示例之数据采集
<?php $ch = curl_init();//初始化 curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie:jsessionid=410D5C5A133CB3B00D308F42A106B713"));//发送头信息,如果远程服务器需要session,可以用这种方式伪造 curl_setopt($ch,原创 2015-10-28 14:49:16 · 1357 阅读 · 0 评论 -
利用PHP对页面源代码过滤的几种方法
1、过滤html标签函数 string strip_tags (string $str [, string $allowable_tags ] )该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。它使用与函数fgetss() 一样的标记去除状态机。2、利用正则过滤第一个匹配到的html标签 $str = preg_replace(原创 2015-11-11 15:24:45 · 1547 阅读 · 0 评论 -
利用socket发送邮件
一、SMTP简介SMTP(简单邮件传输协议)属于TCP/IP协议族,其使每台计算机在发送或中专信件时能找到下一个目的地。客户端通过SMTP命令与SMTP服务器交互方式:客户端建立一个与SMTP服务器的TCP连接,建立连接后客服端和服务器先执行一些应用层的握手操作,让SMTP服务器知道客户端的信息,并且对客户端需求做出 相应等。在握手阶段,客户端向SMTP服务器分别制定发信人和收原创 2015-11-27 10:17:56 · 2475 阅读 · 0 评论 -
PHP数据库连接之PDO
.。。。。原创 2015-11-24 17:07:34 · 304 阅读 · 0 评论 -
插入mysql时重复数据处理方法
一般我们做数据插入数据库时会先查找是否已经存在,如果不存在再执行插入,但如果数据量大的话,这样做的效率很低,建议用以下三种方式来替代方法一、version_name建立唯一(UNIQUE)索引,INSERT INTO VERSION(version_name) VALUES('苏教版') ON DUPLICATE KEY UPDATE course_id=4,id=原创 2015-11-20 17:42:26 · 469 阅读 · 0 评论 -
web性能优化
参考:http://www.csdn.net/article/2013-09-23/2817020-web-performance-optimization转载 2015-11-19 14:35:58 · 263 阅读 · 0 评论 -
thinkphp基于角色的权限控制详解
参考:http://www.cnblogs.com/tanteng/archive/2012/11/25/2787597.html原创 2015-12-12 10:16:24 · 412 阅读 · 0 评论 -
利用引用和递归实现无限极分类
表结构:实现代码:public function findChild(&$data, $parent_id = 0) { $rootList = array(); foreach ($data as $key => $val) { if ($val['parent_id'] == $parent_id) {原创 2015-11-01 16:02:55 · 903 阅读 · 0 评论 -
PHP引用(&)详解
在程序中变量名和变量内容是不同的,如 $a = 'abc' ,内容 'abc' 是保存在内存中的,变量名$a是对这一内容的命名,因此同一内容可以有不同的名字,这就是引用的作用。当需要全局变量时,有时可用引用替代。一、变量引用<?php $a = '123'; $b = &$a; //引用,把变量$a的内存地址传给$b, 也就是说 $a 和变量 $b 指向内存的同一内容,改原创 2015-11-01 20:02:19 · 733 阅读 · 0 评论 -
谈PHP中信息加密技术
参考:http://php.net/manual/zh/function.md5.phphttp://www.cnblogs.com/nixi8/p/4926689.html转载 2015-11-16 14:00:04 · 497 阅读 · 0 评论 -
利用ajax+iframe实现页面无刷新下载
JQuery的ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型,所以要用ajax实现文件下载需要在页面中加入然后用js把生成文件的url地址写入到iframe的src属性中,文件就自然会下载了。原创 2015-11-16 10:36:19 · 1640 阅读 · 0 评论 -
php 计算两个时间的差
$now = time(); $old = strtotime("2014-6-25 10:10:10"); $day = floor(($now-$old)/(60*60*24)); $hour = floor(($now-$old)/(60*24)); $minute = floor(($now-$old)/(60)); $second = $now-$old; echo $min原创 2014-07-20 09:05:45 · 470 阅读 · 0 评论