Welcome 微信登录

首页 / 网页编程 / PHP

PHP中遇到BOM、<feff>编码导致json_decode函数无法解析问题

PHP中遇到BOM、&lt;feff&gt;编码导致json_decode函数无法解析问题

昨天同事遇到一个奇怪的问题,就是以下代码,无法通过JSON校验,也无法通过PHP的json_decode函数解析。复制代码 代码如下:[ { "title": "", "pinyin": "" }]可能聪明的你已经猜到其中包含有不看见的特殊字符,在vim下查看:复制代码 代码如下:[ { <feff>"title": "", "pinyin": "" }]发现在“title”前面有一个字符<feff>,如果你之前了解...
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐

函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐

背景在项目中很多人喜欢在配置文件使用数组来配置各个配置项,如等级的配置level.config.php:复制代码 代码如下:<?php $g_levelConfig = array( "1"=>"新手", "2"=>"进阶", );因为项目不同模块经常会相互调用方法,会出现重复包含一个文件的情况,为了避免错误,大家一般都会用require_one,而且经常会在函数里包含文件,如:复制代码 代码如下:function getN...
用PHP解决的一个栈的面试题

用PHP解决的一个栈的面试题

前言遇到一道面试题,题目大概意思如下:使用两个普通栈实现一个特殊栈,使得pop、push、min三个函数的都是复杂度为O(1)的操作,min函数是获得当前栈的最小值。初步想法1.要实现min函数为(1)操作,当时第一想法是事先需要算好当前最小值,于是会想到用一个值来保存当前栈中最小值元素,然后push和pop操作的时候维护这个值。这样min,push都是O(1)了,但pop可不是,如果当前弹出的是最小值,需要从新寻找当前元素的最小值,这个就不是o(1)了。...
PHP反射使用实例和PHP反射API的中文说明

PHP反射使用实例和PHP反射API的中文说明

最近在开发过程中需要获取某个类方法的参数数量、名称及参数顺序,好根据参数的名称来从$_GET里取值。如方法原型为test($uid,$score), 那么我就知道需要需要从$_GET取复制代码 代码如下:$uid = $_GET["uid"];$score = $_GET["score"];然后调用方法$obj->test($uid,$score)当然前提是约定好了参数名称和get方法传值变量名一致。采用PHP的反射API,获得函数参数名称和参数默认...
改写ThinkPHP的U方法使其路由下分页正常

改写ThinkPHP的U方法使其路由下分页正常

ThinkPHP3.1.3在启用路由的情况下,其分页地址不是路由的地址,由于thinkphp3.2.1的代码也没有修复,很多人都遇到了这一问题,本文采纳olcms的修改方法解决这一问题,特别感谢phper jack对此做出的贡献,具体解决办法是修改ThinkPHP的functions.php的U方法,在287行左右: if(!empty($vars)) {// 添加参数 foreach ($vars as $var => $val){ if("" !...
ThinkPHP让分页保持搜索状态的方法

ThinkPHP让分页保持搜索状态的方法

对很多使用ThinkPHP框架的人来说,使用自动自带的增删改查基类,在分页的时候要保持结果页面的搜索状态,但是使用thinkphp手册中的方案却无法奏效。ThinkPHP手册中的解决方法是://分页跳转的时候保证查询条件foreach($map as $key=>$val) {$Page->parameter.="$key=".urlencode($val).&;}直接粘贴过来不能用,经过调试会发现,当$map不是一个数组的时候,那么变量是拿不...
php使用pack处理二进制文件的方法

php使用pack处理二进制文件的方法

php读写二进制文件可以使用pack和unpack函数。今天要处理一个二进制文件的问题,所以需要用一下,特意了解一下pack的用法,unpack用法与此类似。简单来说,pack函数就是给一个目标格式,和相应的参数,就可以返回二进制数据了。下面举例加以说明,对于四个整数:pack("L4", 0,1,2,3)pack("LLLL", 0,1,2,3)pack("L", 0).pack("L", 1).pack("L", 2).pack("L", 3)上面的处...
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子

PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子

Medoo介绍Medoo是一款超轻量级的PHP SQL数据库框架,由社交网站Catfan和开源项目Qatrix的创始人黎言卓开发。提供了简单,易学,灵活的API,提升开发Web应用的效率与性能,而且体积只有8KB不到。特性轻量级,只有一个文件简单易学,数据结构一目了然支持多种SQL语法,以及支持复杂的查询条件支持多种数据库,包括MySQL, MSSQL, SQLite等等安全,可防止SQL注入免费,基于MIT协议示例代码增加复制代码 代码如下:$datab...
php+memcache实现的网站在线人数统计代码

php+memcache实现的网站在线人数统计代码

今天闲来无事,想在博客统计中显示在线人数。在网上找了好多例子,不是数据库存储数据就是文件存储,代码也看起来过于复杂。晚上回来后,构思了下,看到我服务器中安装有 Memcache 服务,何不用 Memcache 实现呢。下面就来讲下实现过程:效果图:实现代码:<?php$mc = new Memcache ();// 连接memcache$mc->connect ( "127.0.0.1", 11211 );// 获取 在线用户 IP 和...
PHP+Memcache实现wordpress访问总数统计(非插件)

PHP+Memcache实现wordpress访问总数统计(非插件)

以前写过一篇博文,利用 PHP 和 Memcache 实现网站,以下链接查看:http://www.jb51.net/article/51825.htm今天就把该功能用到 wordpress 中,并实现把访问次数保存到数据库中。MySQL 语句首先在参数表中,添加访问次数的默认数据// 获取所有浏览次数function get_all_visit_number(){ $mc = new Memcache ();// 使用wordpress自带wpdb类 g...
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析

对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析

ThinkPHP官网上曾有一段公告指出,在ThinkPHP 3.1.3及之前的版本存在一个SQL注入漏洞,漏洞存在于ThinkPHP/Lib/Core/Model.class.php 文件根据官方文档对"防止SQL注入"的方法解释(参考http://doc.thinkphp.cn/manual/sql_injection.html)使用查询条件预处理可以防止SQL注入,没错,当使用如下代码时可以起到效果:$Model->where("id=%d an...
<< 401 402 403 404 405 406 407 408 409 410 >>