-
PHP中strlen()和mb_strlen()的区别浅析
所属栏目:[PHP教程] 日期:2020-12-12 热度:115
在php中常见的计算字符串长度的函数有:strlen和mb_strlen.当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。 先来看一个例子: 代码如下: ';//14 echo mb_strlen($str,'utf8').' ';//6 echo mb_strlen($str,'gbk'[详细]
-
PHP获取文件的MD5值并判断是否被修改的例子
所属栏目:[PHP教程] 日期:2020-12-12 热度:73
由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。 代码如下: md5_file() md5_file() 函数计算文件的 MD5 散列。md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。如果成功,则返回所计算的 MD5 散列,[详细]
-
PHP mkdir()无写权限的问题解决方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:51
使用mkdir创建文件夹时,发现这个函数有两个参数,第二个参数是为新创建的文件夹指定权限。 但是如果直接用mkdir('文件地址',0777);时 发现新文件夹的权限并不是777,一般情况下会是022。 因为mkdir在给文件夹制定权限时,会跟当前登录操作系统用户的umask([详细]
-
PHP中的多行字符串传递给JavaScript的两种方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:160
PHP和JavaScript都是初学。最近有这么个需求: 比方说有一个PHP的多行字符串: 传递给JavaScript后要等价于: 因为对这两门语言的理解低到不知如何Google,只好自己摸索出方法两则: 1. 将PHP先转义,然后分割,然后转JSON,然后JavaScript parse,最后用n[详细]
-
PHP安全的URL字符串base64编码和解码
所属栏目:[PHP教程] 日期:2020-12-12 热度:160
如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址。下面的方法可以解决该问题: URL安全的字符串编码: 代码如下: URL安全的字符串解码: 代码如下:[详细]
-
PHP base64编码后解码乱码的解决办法
所属栏目:[PHP教程] 日期:2020-12-12 热度:139
在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的。来看看罪魁祸首是谁。 嫌疑人:base64_encode 和 base64_decode 罪行:我写了一个跳转和提示函数,接收提示信息后跳转到指定的页面,但是跳转提示时汉字乱[详细]
-
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
所属栏目:[PHP教程] 日期:2020-12-12 热度:167
我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的: sql1:查询商品库存 0){ //生成订单... sql2:库存-1} 当没有并发时,上面的流程看起来是如此完美,假设同时两个人下单,而库存只有1个了,在sql1阶段两个人查询到的库存都是>0的,于是最[详细]
-
smarty模板局部缓存方法使用示例
所属栏目:[PHP教程] 日期:2020-12-12 热度:69
在开启smarty缓存的情况下,第一次执行时会将其编译好的输出文件保存到cache目录中,然后在程序中通过smarty的is_cache()函数检测其 cache文件是否过期,如果过期会更新缓存,如果没有过期会自动调用cache文件,这样就省去了编译的过程。检测cache过期是看模[详细]
-
Smarty局部缓存的几种方法简介
所属栏目:[PHP教程] 日期:2020-12-12 热度:67
很多时候我们在用smarty时,并不希望缓存整个页面,例如天气、股票等这类即时更新的信息。那么我们可以让其不缓存,常见的实现有如下3种方法: 1.insert 法: Insert 函数类似于 inluce 函数,不同之处是 insert 所包含的内容不会被缓存,每次调用该模板都会[详细]
-
CI框架中zip类应用示例
所属栏目:[PHP教程] 日期:2020-12-12 热度:113
CI框架自带的zip类简单实用,本文就来简单说一下CI框架的zip类的使用。 首先需要导入zip类: 代码如下: $this->load->('zip'); 此外,但是考虑到CI的结构,还需要设置一下自动加载类,把zip加载进去。 也 可以在设置的时候,统一加载 。 大家如果遇到这个问[详细]
-
CI框架自动加载session出现报错的解决办法
所属栏目:[PHP教程] 日期:2020-12-12 热度:196
很多程序员在CI中使用session的时候,开启自动加载session之后网站就报错了,具体错误信息如下:In order to use the Session class you are required to set an encryption key 下面一起来看问题解决办法。 提示信息说明: 如果想用session类的话就必须要设[详细]
-
CI框架在CLI下执行占用内存过大问题的解决方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:183
很多程序员在使用codeigniter CLI下执行一个大批量数据导入的问题时,会一直出现内存过高的情况,下面对此分析器原因及解决办法。 CI db会将所有的查询sql和和sql执行时间保存下来 ,对于类似百万级大数据量的导入问题来说,其执行的sql记录都会被保存在内容[详细]
-
CodeIgniter CLI模式简介
所属栏目:[PHP教程] 日期:2020-12-12 热度:123
让我们以Hello World为例,首先创建一个简单的控制器。使用你的文本编辑器,创建一个叫做 tools.php 的文件,并且输入如下代码: 代码如下: class Tools extends CI_Controller { public function message($to = 'World') { echo "Hello {$to}!".PHP_EOL; }[详细]
-
php的SimpleXML方法读写XML接口文件实例解析
所属栏目:[PHP教程] 日期:2020-12-12 热度:149
在php5中读写xml文档是非常方便的,可以直接使用php的SimpleXML方法来快速解析与生成xml格式的文件,下面举例说明: 创建一个SimpleXML对象有三种方法: 1. 使用new关键字创建 代码如下: $xml=" 1 aaa 16 2 bbb 26 "; $rss=new SimpleXMLElement($xml); 2.[详细]
-
PHP实现删除非站内外部链接实例代码
所属栏目:[PHP教程] 日期:2020-12-12 热度:106
一般在做网站系统的时候,出于优化等因素的考虑需要再添加文章的时候删除掉不是本站的链接,对于这一要求可以通过让PHP处理下文章内容,来达到文章外部链接的自动删除的效果。 本实例代码主要参考织梦CMS内容管理系统的外链删除方法。 代码如下: * 删除非站[详细]
-
php版淘宝网查询商品接口代码示例
所属栏目:[PHP教程] 日期:2020-12-12 热度:109
本文来给大家介绍一个php版淘宝网查询商品接口代码的例子,下面要改成你的信息的在代码后面都有说明了,同时sdk包我们也要官方下载。 下载SDK后直接引用包,并创建如下的类,并运行之,即完成了调用接口(taobao.user.seller.get)的过程(调用接口说明可见下[详细]
-
php获取网页请求状态程序示例
所属栏目:[PHP教程] 日期:2020-12-12 热度:68
对于网页返回状态代码一般情况下我们都会去查自己网站状态码是不是200或错误页面是不是404代码,并且多数情况下我们的查看方法就是使用站长工具或ff浏览器等来查看,极少有人想到自己写一个查看状态代码的功能。 本文就此简述php获取网页请求状态程序示例如[详细]
-
php判断数组元素中是否存在某个字符串的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:183
方法一:采用in_array(value,array,type) type 可[详细]
-
用PHP代替JS玩转DOM的思路及示例代码
所属栏目:[PHP教程] 日期:2020-12-12 热度:155
事情的起源比较简单,我需要把一个导航页的数据整理好写入数据库。一个比较直观的方法是对html文件进行分析,通用的方法是用php的正则表达式来匹配。但是这样做开发和维护都很困难,代码可读性非常差。 导航页的数据都是规则的排列在DOM树当中的,用JS可以用[详细]
-
PHPAnalysis中文分词类详解
所属栏目:[PHP教程] 日期:2020-12-12 热度:158
PHPAnalysis是目前广泛使用的中文分词类,使用反向匹配模式分词,因此兼容编码更广泛,现将其变量与常用函数详解如下: 一、比较重要的成员变量 $resultType = 1 生成的分词结果数据类型(1 为全部, 2为 词典词汇及单个中日韩简繁字符及英文, 3 为词典词汇[详细]
-
单台服务器的PHP进程之间实现共享内存的方法
所属栏目:[PHP教程] 日期:2020-12-12 热度:163
开发人员要想使php进程实现共享内存的读写,首先就要支持IPC函数,即 php编译安装时指定:--enable-shmop 与--enable-sysvsem 两个选项 。 IPC (Inter-process communication) 是一个Unix标准机制,它提供了使得在同一台主机不同进程之间可以互相的方法。基[详细]
-
浅析PHP的静态成员函数效率更高的原因
所属栏目:[PHP教程] 日期:2020-12-12 热度:121
很多php开发人员都知道, 使用类的静态成员函数效率比类的普通成员函数的要高,本文从应用层次分析这个问题 下面是一个范例: 代码如下: header('Content-Type: text/html; charset=utf-8'); class xclass{ public static $var1 = '2222222222222221'; publi[详细]
-
Yii结合CKEditor实现图片上传功能
所属栏目:[PHP教程] 日期:2020-12-12 热度:158
这几天做的一个项目中需要在所见即所得编辑器中实现图片上传的功能,我因为比较喜欢CKEditor的界面而选择了它。虽然有跟CKEditor配合良好的CKFinder,不过这个东东的功能太复杂,简单看了下CKEdtior的文档,发现这个功能还是可以自己实现而不用借助CKFinder[详细]
-
PHP中使用gettext解决国际化问题的例子(i18n)
所属栏目:[PHP教程] 日期:2020-12-12 热度:72
实现国际化的方式比较多,很多php framework都内置i18n支持,但大部分是基于PHP的数组实现的,这种方法并不推荐。目前最为流行也最通用的方法是gettext。 Gettext 用于系统的国际化(I18N)和本地化(L10N),可以在编译程序的时候使用本国语言支持(Native Langua[详细]
-
PHP实现单例模式最安全的做法
所属栏目:[PHP教程] 日期:2020-12-12 热度:145
作为一种常用的设计模式,单例模式被广泛的使用。那么如何设计一个单例才是最好的呢? 通常我们会这么写,网上能搜到的例子也大部分是这样: 代码如下: class A { protected static $_instance = null; protected function __construct() { //disallow new in[详细]