PHP Web实践
helencoder
Java,PHP,足球,逗比。每条道路上都要越走越远。
展开
-
[亲测]Apache配置虚拟域名
原先刚接触Apache服务器的时候,觉得配置个虚拟域名是很炫的技能,但你自己研究一下,才发现原来是So easy! Apache配置虚拟域名,主要需要配置两个文件一个是本机的hosts文件,一个是apache的配置文件httpd.conf。1.本地hosts访问一个域名,通过dns服务器得到该域名所指向的服务器ip地址,然后通过ip地址和服务器建立连接,完成剩下的事情。开发过程中,我们利用host原创 2015-11-03 19:16:29 · 7783 阅读 · 0 评论 -
ThinkPHP去重 distinct和group by
近期项目中,遇到数据表去重要求,对于ThinkPHP的去重有了更加准确的认识和体会。 两种去重方式:$test_data = M('hot'); //实例化数据表$data = $test_data->Distinct(true)->field('descriprion')->order('description desc')->select(); //利用distinct方法去重$dat原创 2015-12-16 15:33:43 · 29600 阅读 · 0 评论 -
微信扫一扫打印照片的原理以及实现过程(持续更新中)
近来对于微信扫一扫打印照片十分的感兴趣,觉得挺有意思的。对于软件编程以及连接打印机等硬件方面的知识都有所涉及,故实现这样的的微信扫一扫打印照片的功能。 分析如下: 微信扫一扫首先设计二维码的生成和获取,然后实现扫描二维码用户进入相应的公众号主页,继而对于用户上传的图片进行处理并将处理后的图片通过某种方式传递给打印机进行打印。 难点: 微信扫一扫接口的使用、用户上传图片的收集和处理、电脑与打印原创 2015-12-02 09:51:32 · 8632 阅读 · 1 评论 -
ThinkPHP中的select()方法调用注意点
ThinkPHP中使用select()方法调用数据库时,会将字段名中的大写字母自动变为小写字母输出。故在使用其返回信息时,需要利用全是小写字母的字段名进行获取。 亲测,请注意!原创 2015-12-03 10:16:51 · 1248 阅读 · 0 评论 -
ThinkPHP3.2实现简单的数据分页
ThinkPHP3.2中实现了page类,同时配合数据表中的page()方法进行分页操作。 controller代码://实例化文案表 $local_articles = M('local_articles'); $p = empty($_GET['p'])?0:$_GET['p']; // 进行分页数据查询 注意page方法原创 2015-12-21 18:39:02 · 4762 阅读 · 0 评论 -
微信公众平台接口API
本API为笔者本人所写,包括微信公众平台几乎所有的接口、接口调用方法以及错误返回码等。所有函数名称均利用接口的英文名,便于查找和使用、后期会持续优化。关于各个接口的调用的案例、会持续更新。<?php/** * Author: helen * CreateTime: 2015/12/9 20:14 * description: 微信公众平台接口API */class Wechat{原创 2015-12-26 11:31:05 · 15019 阅读 · 0 评论 -
php中的单引号(int类型和string类型的转换)
示例代码:$a = '10';var_dump(gettype($a));settype($a,'int');var_dump(gettype($a));此时输出结果为:string、interger但是假如:$a = 10;var_dump(gettype($a));settype($a,'int');var_dump(gettype($a));此时输出结果均为intergerphp中原创 2016-03-21 09:28:45 · 1049 阅读 · 0 评论 -
微信公众平台页面授权处理方法(单一方法处理)
在使用微信公众平台进行第三方开发的过程中,我们经常会遇到需要调用微信页面授权、从而获取用户信息。但是单一的使用微信页面授权的方式进入页面,总会存在跳转到微信页面进行授权的问题,这样就会增加用户进入页面所费时间,从而影响用户体验。 所以我们需要一种方式,借助其他机制等,不必要使得用户每次均要跳转到微信页面授权位置。这样在用户不是第一次进入页面的过程中,即可以不用跳转微信页面授权,从而减少用户进入页面原创 2016-03-24 11:19:11 · 5624 阅读 · 2 评论 -
微信JSSDK页面授权实现类(PHP)
微信页面授权–(JS-SDK使用权限签名算法) 使用方法:实例化此类,然后调用其中的getSignPackage()方法即可。 注意:其中涉及获取access_token和jsapi_ticket需要自己缓存,不能频繁获取!<?php/** * Author: helen * CreateTime: 2016/4/11 10:39 * description: 微信页面授权--(JS-原创 2016-04-11 14:54:15 · 5806 阅读 · 0 评论 -
利用redis和php-resque实现后台任务
在PHP的页面编程过程中,我们总遇到这样一个问题,即是PHP是一个顺序执行的过程,只能在一个任务完成后接着去实现下一个任务,而这其中存在一个问题,就是假如其中一个任务耗费大量时间的时候,我们可能就必须要等待。借助redis可以将耗时任务放到后台去执行,从而减少等待时间。原创 2016-04-11 15:56:23 · 8561 阅读 · 0 评论 -
基于原生PHP的路由分配实现
对于由原生PHP写成的独立PHP框架,利用单一入口文件实现路径的访问。这时我们会遇到的首要问题是:文件的相互包含,其次就是路由分配。当我们不利用成熟的PHP框架进行web开发时,我们就会发现上述两个问题会是很困扰我们的问题所在。问题解决方案: 1、文件包含 php的文件包含有两种方式:require和include,两个方法的区别在于利用require包含文件当出错时,会报出严重错原创 2016-07-29 16:07:03 · 15729 阅读 · 0 评论 -
(php)实现批处理文件以及PHPExcel的实践
利用PHPExcel进行excel插入操作。同时需要进行系统文件夹的扫描和重命名! 项目需求:网站上线要将照片上传到线上,但是有些照片的名称是中文导致上传失败,现需要将名称均改为不包含中文的名字,然后将修改前和修改后的名称的对应关系写到excel表中。 项目实现:首先实现的是对于照片名称的读取,同步实现对于照片名称的修改操作。然后将其中对应的新名称和旧名称均加入到数组中,利用phpexcel将数原创 2015-11-28 23:47:42 · 779 阅读 · 0 评论 -
cURL上传图片等文件使用CURLFile class 替代 @filename API
在使用cURL上传图片等文件时,利用cURL方法,传统的上传方法。//图片信息 $img_path = dirname(__FILE__).'\boy.jpg'; $img_data = array( 'media'=>'@'.$img_path ); $res = $Wechat->uploadImg(access_token,$img_data);原创 2015-12-14 11:18:50 · 7071 阅读 · 0 评论 -
[实践]微信公众平台开发方法汇总(php)
笔者在实际的开发工作中,对于微信公众平台的开发有了些许的体会,对于微信公众平台的接口调用方法以及相应的一些信息组织有了些许认知。现总结如下:微信公众平台相应接口的调用主要分为get方法和post方法。同时涉及到下载相关的多媒体文件,以及信息格式(XML)的组织。方法一:接口调用的get方法function curl_get($url){ //初始化 $ch = c原创 2015-11-26 09:54:30 · 780 阅读 · 0 评论 -
ThinkPHP3.2中引入JS,CSS文件路径配置
在ThinkPHP3.2框架中,默认已经没有Public文件夹了。其中对于__PUBLIC__的定义也需要重新定义。这给笔者造成了很长时间的困扰,现在这个问题终于解决,分享出来给大家参照一下。 在ThinkPHP中config文件中进行一下配置即可。//重定义网站的一些URL地址 /* 模板相关配置 */ 'TMPL_PARSE_STRING' => array(原创 2015-11-03 11:15:18 · 10544 阅读 · 1 评论 -
php页面编码设置的方法
输出meta标签: 1、在php mvc的控制器里面或php页面echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">'; 2、在php页面或html页面<meta http-equiv="content-type" content="text/html; charset=utf-8"> 使用header函数原创 2015-11-03 14:17:57 · 1870 阅读 · 0 评论 -
ThinkPHP3.2中预定义常量解析
在HOME模块下的Controller文件下直接创建TravelController.class.php文件。代码如下:<?php namespace Home\Controller; use Think\Controller; class TravelController extends Controller{ public function index()原创 2015-11-03 11:52:43 · 1422 阅读 · 0 评论 -
微信公众号开发sprintf()函数其中%S等符号的说明
**转换说明符** %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99) %c 字符 %d 有符号十进制整数 %f 浮点数(包括float和doulbe) %e(%E) 浮点数指数输出[e-(E-)记数法] %g(%原创 2015-11-04 15:14:01 · 2219 阅读 · 0 评论 -
微信公众号智能识别回复的实现(基于ThinkPHP框架)
Controller代码:public function index(){ //获取微信发送确认的参数。 $signature = $_GET['signature']; $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce'];原创 2015-11-05 16:22:55 · 1333 阅读 · 0 评论 -
微信公众账号利用post方法调用接口实现方法
微信公众账号利用post方法调用接口实现方法,相较于利用get方法调用接口而言,利用post方法需要额外设置cURL的参数,同时需要对数据进行格式改造,一般为利用json数据传输。 以获取素材列表为例:function getSucaiList($Token,$Data){ $url = 'https://api.weixin.qq.com/cgi-bin/material/bat原创 2015-11-05 21:35:29 · 6703 阅读 · 0 评论 -
基于PHP的微信公众平台开发(TOKEN验证,消息回复)
微信公众平台开发 实现步骤: 第一步:填写服务器配置 登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。Encodi原创 2015-10-30 16:56:05 · 10451 阅读 · 3 评论 -
PHP中的cURL的简单应用
本文笔者仅介绍关于cURL的简单应用。 cURL(Client URL Library Functions)作为一款网页抓取神器,操作简单,功能强大。 具体步骤如下://1,初始化cURL$url = 'http://www.baidu.com'; //设置需要抓取的网站URL$ch = curl_init(); //初始化方法//2,设置cURL的参数,其参数有很多,此处介绍最常用的两个原创 2015-10-31 11:28:34 · 375 阅读 · 0 评论 -
ThinkPHP中数据库CRUD操作方法盘点(limit、page、table、order、data方法)
limit方法 limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多。ThinkPHP的limit方法可以兼容所有的数据库驱动类的。 用法 限制结果数量 例如获取满足要求的10个用户,如下调用即可:$User = M('User');$User->where('status=1')->field('id,name')->limit(10)-转载 2015-11-01 12:31:15 · 2863 阅读 · 0 评论 -
[亲测]ThinkPHP中where方法中变量不解析的解决方法
$color_name = $activity_color->where("name='$tmp_color'")->getField('color_value');注意其中的写法: where语句中变量必须为单引号括起来才可以解析。 笔者尝试过利用双引号括起来结果是不可以的。 具体原因不详!原创 2015-11-18 22:50:08 · 1501 阅读 · 0 评论 -
ab性能测试
首先分享两篇不错的文章:(总结)Web性能压力测试工具之ApacheBench(ab)详解 widows系统下ab使用指南:如何使用Apache的ab工具进行网站性能测试实际测试命令: 利用cmd(管理员模式)进入apache安装目录的bin目录下执行相应的ab命令:ab常用参数的介绍: -n :总共的请求执行数,缺省是1; -c: 并发数,缺省是1; -t:测试所进行的总时间,秒为单位,原创 2016-09-07 10:21:30 · 1027 阅读 · 0 评论