php
陌阡
天道无亲,常与善人
展开
-
超实用的PHPExcel[导入][导出]实现方法总结
1、PHPExcel导出方法实现过程 /** * 数据导出 * @param array $title 标题行名称 * @param array $data 导出数据 * @param string $fileName 文件名 * @param string $savePath 保存路径 * @param $ty...转载 2018-02-09 16:01:39 · 689 阅读 · 0 评论 -
AJAX文件上传插件
关于PHP文件上传常见有两种方法,一种是表单数据流上传,一种通过浏览器插件上传,比如flash等。 在前面已经有介绍通过swfupload上传文件 ,这里介绍的是通过AJAX上传文件。swfupload是通过flash来实现上传的,这里AJAX实现的是通过表单数据流的形式。该插件所需文件已经打包,请通过附件下载。举例:function ajaxFileUpload(){ $("#l转载 2015-11-09 16:17:52 · 450 阅读 · 0 评论 -
一组PHP可逆加密解密算法
对于大部分密码加密,我们可以采用md5、sha1等方法。可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密。对于需要还原的信息,则需要采用可逆的加密解密算法。下面一组PHP函数是实现此加密解密的方法:加密算法如下:function encrypt($data, $key){ $key = md5($key); $x = 0; $len =转载 2015-11-09 16:10:00 · 484 阅读 · 0 评论 -
phpQuery的用法
一、phpQuery的hello word!下面简单举例:include 'phpQuery.php'; phpQuery::newDocumentFile('http://www.phper.org.cn'); echo pq("title")->text(); // 获取网页标题echo pq("div#header")->html(); // 获取id为header的div的h转载 2015-11-09 16:01:07 · 19770 阅读 · 1 评论 -
浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取转载 2015-09-16 15:14:24 · 460 阅读 · 0 评论 -
RBAC权限管理
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员转载 2015-09-28 13:04:14 · 354 阅读 · 0 评论 -
PHP的内存泄露问题与垃圾回收
你写了一个php脚本,一般都不用考虑内存泄露和垃圾回收的问题,因为一般情况下你的脚本很快就执行完退出了。但在一些运行时间长,数据量大的时候,程序运行一段时间后,php脚本就占用了过多内存,然后就报错(PHP Fatal error: Allowed memory size of 134217728 bytes exhausted)退出了。一般来说,每个页面处理结束,新建的simple_ht转载 2015-09-07 20:41:03 · 5473 阅读 · 1 评论 -
鸡肋的PHP单例模式
单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。/* 单例模式举例,其要点如下: * * 1. $_instance 必须声明为静态的私有变量 * 2. 构造函数和克隆函数必须声明为私有的,这是为了防止外部程序 new 类从而失去单例模式的意义 * 3. getInst转载 2015-09-07 20:26:43 · 601 阅读 · 0 评论 -
nginx、fastCGI、php-fpm关系梳理
前言: Linux下搭建nginx+php+memached(LPMN)的时候,nginx.conf中配需要配置fastCGI,php需要安装php-fpm扩展并启动php-fpm守护进程,nginx才可以解析php脚本。那么,这样配置的背后原理是什么?nginx、fastCGI、php-fpm之间又有什么关系呢?博主一直有这样的疑惑,由于无法理清nginx、php-fpm之间的关系,遇到ng转载 2015-06-05 14:38:16 · 516 阅读 · 0 评论 -
微信分享jssdk实例
<?phprequire_once "jssdk/jssdk.php";$jssdk = new JSSDK("Yourkey", "YourSecret");$signPackage = $jssdk->GetSignPackage();?>雅姿hydra水润保湿系列-手机瑞丽网 /* * 注意: * 1. 所有的JS接口只能在公众号绑定的域原创 2015-04-02 16:39:47 · 8310 阅读 · 0 评论 -
PHP加密解密函数
// +----------------------------------------------------------------------+// | Willko Framework |// +--------------------------------------------转载 2014-04-15 09:30:32 · 700 阅读 · 0 评论 -
Imagemagick中图片大小转换全攻略
Convert的resize子命令应该是在ImageMagick中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些参数测试设定值:此说明文件中所用的原始文件(src.jpg),宽度:200,高度:150命令格式: -resize widthxheight{%} {@} {!} {} {^}1. 默认时,宽度和高度表示要最终需要转转载 2012-12-08 16:43:34 · 2129 阅读 · 0 评论 -
用PHP将CMYK格式的JPG文件转为RGB格式
上次说到,CMYK格式的JPG用IE6浏览时无法显示,解决方法是用PS之类的软件转成RGB。但对于网站来说,用户并不知道这么解决,所以还是要程序想办法解决了。解决方法是用imagick或者imagemagick来处理图片,imagick代码如下:[php] view plaincopyprint? $filePath = '/path/to/your/file.j转载 2012-11-23 13:57:06 · 1751 阅读 · 0 评论 -
用mysql触发器自动更新memcache
mysql 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的自动更新。简单记录一下安装测试步骤。安装步骤安装memcached,这个步骤很简单,随处可见安装mysql server 5.1RC,安装办法也很大众,不废话了编译libmemcached,解压后安转载 2012-11-26 14:54:04 · 577 阅读 · 0 评论 -
PHP过滤非中文字符
$string = '中·々华?人1十a民共【,和。国“”】(,爱)';echo preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $string); 注意,只支持utf-8编码,如果不是utf-8请先转码后,过滤后再转回原编码。转载 2015-11-09 15:59:52 · 1342 阅读 · 0 评论 -
PHP读取CSV大文件导入数据库
PHP如何对CSV大文件进行读取并导入数据库?对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象。为了成功将CSV文件里的数据导入数据库,分批处理是非常必要的。下面这个函数是读取CSV文件中指定的某几行数据:/** * csv_get_lines 读取CSV文件中的某几行数据 * @param $csvfile csv文件路径转载 2015-11-09 16:07:31 · 3931 阅读 · 0 评论 -
PHP获取IP所在地区
这是一个PHP获取客户端IP所在地区的类,它能根据IP地址查地区,简单实用。使用示例示例一:$IpLocation = new IpLocation();$client = $IpLocation->getlocation();print_r($client);示例二:$IpLocation = new IpLocation('../qqwry/QQWry.D转载 2015-11-09 16:13:31 · 878 阅读 · 0 评论 -
通过 api 调用检查具体日期是否为法定节假日
之前一直郁闷不知如何知道某个日期是否为节假日或休息日,要自己写一套API又觉得可能会花费太多时间,因此找到一个网友写的靠谱的法定节假日就Mark一下。通过测试2016年的中秋节放假安排,发现和实际情况相同。原文博客地址:http://www.cnblogs.com/mamo/p/3790557.html通过 api 调用检查具体日期是否为转载 2017-12-06 10:19:32 · 3426 阅读 · 0 评论 -
身份证验证
身份证号码的结构: 要进行身份证号码的验证,首先要了解身份证号码的编码规则。我国身份证号码多由若干位数字或者数字与字母混合组成。早期身份证由15位数字构成,这主要是在1980年以前发放的身份证,后来考虑到千年虫问题, 因为15位的身份证号码只能为1900年1月1日到1999年12月31日出生的人编号,所以又增加了18位身份证号码编号规则。1>.18位身份证号码各位的含义: 1-2位转载 2017-09-01 18:10:47 · 663 阅读 · 0 评论 -
PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择的问题
这里是我在搭建php环境时收集的资料供大家参考: 现在PHP官网上下载php安装包都有VC11或VC9的字样,这是什么含义,我们应该下载哪种安装包更好呢?其实PHP官网给出了答案: VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。(现在PHP已经没有VC6了)。 VC9意思就是该版本PHP是用VisualS转载 2017-09-05 15:04:08 · 522 阅读 · 0 评论 -
好用的 CURL 类
cURL 是一个利用 URL 语法规定来传输文件和数据的工具,支持很多协议,如 HTTP、FTP、TELNET 等。最爽的是,PHP 也支持 cURL 库。使用 PHP 的 cURL 库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页转载 2017-08-24 20:20:37 · 431 阅读 · 0 评论 -
Laravel事件 event
概述事件是一种常见的观察者模式的应用。简单的来说,就是当...干...。这个当...和干...在Laravel 事件中分别对应:当(event)...干(listener)...放置event和listener文件的位置分别是:app/Eventsapp/Listeners对于产品经理来说,事件主要用来规范你的业务逻辑,使支线逻辑与主线逻辑独立分拆。对于程序员来说,转载 2016-10-13 18:26:09 · 10086 阅读 · 3 评论 -
树形结构的数据库表Schema设计
树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree存入DBMS,设计合适的Schema及其对应的CRUD算法是实现关系型数据库中存储树形结构的关转载 2016-09-22 15:03:30 · 5604 阅读 · 0 评论 -
十个 Laravel 5 程序优化技巧
说明性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论。这里是简单的列表:配置信息缓存 artisan config:cache路由缓存 artisan route:cache类映射加载优化 artisan optimize自动加载优化 composer d转载 2016-08-25 21:07:08 · 856 阅读 · 0 评论 -
PHP 命名空间 解惑
1. PHP中的命名空间是什么? 官方解释在此: 命名空间概述命名空间用一句话说,就是:把 类、函数、变量 等放到逻辑子文件夹中去,以避免命名冲突。注:命名空间跟实际代码文件在文件系统中的路径没有任何关系,如果你感到迷茫,可以看看本文最后一节。2. 被隐藏的第一个 \在每个 PHP 文件的最开始定义命名空间:<?php namespace TinyLara\TinyRout转载 2016-08-25 20:53:38 · 491 阅读 · 0 评论 -
PHP 运行流程
PHP 运行流程在一个典型的 Apache + mod_php 架构的 PHP 运行环境中,一个 PHP 网站是这样运行的:Apache 收到用户的 HTTP 请求这个请求是以 .php 结尾或者是一个不存在的路径(.htaccess 会将其转发到 index.php)Apache 的 mod_php 会启动一个新的 PHP 进程(PHP 解释器),读取 HTTP 请求的 URL 中转载 2016-08-25 20:33:58 · 434 阅读 · 0 评论 -
PSR规范
PSR-1 基本代码规范本节我们将会讨论一些基本的代码规范问题,以此作为将来讨论更高级别的代码分享和技术互用的基础。RFC 2119中的必须(MUST),不可(MUST NOT),建议(SHOULD),不建议(SHOULD NOT),可以/可能(MAY)等关键词将在本节用来做一些解释性的描述。1. 概述源文件必须只使用 和 这两种标签。转载 2016-08-18 16:30:48 · 2028 阅读 · 0 评论 -
扩展RBAC用户角色权限设计方案
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员转载 2016-05-31 14:32:30 · 410 阅读 · 0 评论 -
Laravel 的 Homestead 开发环境部署
Homestead 与 虚拟机Laravel 努力在整个PHP开发过程中提供令人愉快的开发体验,当然也包括本地的开发环境。首先明白以下几个概念VirtualBox -- Oracle 公司的虚拟机软件, 能运行在当前大部分流行的系统上;Vagrant 提供一种命令行接口, 允许自动化安装虚拟机, 并且因为是脚本编写成的 provision 文本文件, 给共享虚拟机配置提供了可能转载 2015-12-29 15:13:52 · 3380 阅读 · 0 评论 -
PHP正则表达式屏蔽电话号码中间段
要屏蔽电话号码中间段,首先要知道电话号码的正则表达式。先来看看PHP匹配电话号码的正则表达式。匹配固定电话的正则表达式为:/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i匹配手机号码的正则表达式为:/(1[358]{1}[0-9]{9})/i要用一个表达式来匹配所有的电话号码只需要将它们合并起来就可以了,转载 2015-11-09 16:34:54 · 1691 阅读 · 0 评论 -
smarty常用方法
Smarty常用方法 (2010-04-07 17:30:11)转载▼标签: smarty explode it 日期格式转换[PHP]方法:date('Y-m-d', $v['time']);[SMARTY]方法:{$data.value|date_format:"%Y-%m-%d %H:%M:%S"}截取字符串:{ $data.value|truncate:28:'...'}28转载 2012-09-13 10:17:48 · 2254 阅读 · 0 评论 -
php+ajax上传图片
用iframe模拟ajax上传index.html function showPic(img){ var imgObj = document.getElementById('uploadPic'); imgObj.src = img;}upload.php<?phpif(move_uploaded_file($_FIL原创 2012-08-01 17:06:09 · 3555 阅读 · 0 评论 -
php获得图像的属性函数
<?php/** * 取得图像信息 * * 用法: * -------------------------------------- * $info = getImageInfo('test.jpg'); * -------------------------------------- * * @param string $image 图像文件名 * * @return原创 2012-07-18 11:42:15 · 2184 阅读 · 0 评论 -
php二维数组排序函数
/** * 二维数组排序 * * @author zhaoxuejie * @date 2011-11-29 */function array_sort($arr,$keys,$type='asc'){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v){原创 2012-02-27 09:58:30 · 531 阅读 · 0 评论 -
php验证码共用类
支持可定制 是否点干扰,线干扰,字符是否倾斜及有无边框等用法:<?php/*** 验证码demo* * @author zhaoxuejie* @date 2012-2-20* @version v1.0*/session_start();require_once('validate.class.php');$image = new Valida原创 2012-02-23 11:39:52 · 988 阅读 · 1 评论 -
PHP巧妙利用位运算实现网站权限管理
首先我们先定义4个常量来设定四种权限:=====================================define(ADD,1);//增加数据库记录的权限define(UPD,2);//修改数据库记录的权限define(SEL,4);//查找数据库记录的权限define(DEL,8);//删除数据库记录的权限============================转载 2012-02-21 14:35:11 · 2871 阅读 · 1 评论 -
php导出Excel
Google的excel导出类<?php/*** Simple excel generating from PHP5** @package Utilities* @license http://www.opensource.org/licenses/mit-license.php* @author Oliver Schwarz * @version 1.0*//***原创 2012-02-08 17:13:06 · 2609 阅读 · 0 评论 -
Memcache备用笔记
$memcache = new memcache;$memcache->connect('127.0.0.1', 11211) or die ("连接失败");$memcache->set('Key', 'Value', 'Zip', 'Time');$val = $memcache->get('Key');Memcache::add — 添加一个值,如果已原创 2011-12-30 09:26:59 · 659 阅读 · 0 评论 -
php循环删除目录和文件函数
/** * 循环删除目录和文件函数 * * @param $dirName 目录 * @param $opreation 是否同时删除目录 yes | no */ function del_dir_file($dirName, $operation = 'yes') { //目录不存在返回false if(!is_dir($dirName)){ return fal原创 2011-12-15 14:12:35 · 1047 阅读 · 0 评论 -
php简单上传类
用法及代码举例:<?php/** include("upload.class.php"); //加入类文件 $f_upload = new upload_file(); //创建对象 $f_upload->set_file_type($_FILES['src']['type']); //获得文件类型 $f_upload->set_file_name($_FILES转载 2011-12-15 11:54:22 · 2154 阅读 · 0 评论