PHP语言
清枫草塘
HTML+JS+CSS,Html5+CSS3,Canvas/SVG,PHP+MySQL
展开
-
PHP截取中文字符串的方法
php自带的一个截取字符串的函数substr,但其只能处理英文、数字却不能截取中文混排的。如果需要在PHP中进行GB2312与UTF-8的互换,需要php_iconv.dll的支持(PHP4中包含此文件)。php5内建支持iconv。不管是uft-8编码转换为gb2312,还是将 gb2312 转换为 uft-8 ,PHP4.3.1以后的iconv函数很方便,处理中文的字符串截取函数mb_substr()是在PHP4.0.6后引入的原创 2013-07-05 19:11:22 · 1837 阅读 · 1 评论 -
了解什么是用户留存率
用户留存率在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用应用的被认作是留存;这部分用户占当时新增用户的比例即是留存率,会按照每隔1单位时间(例日、周、月)来进行统计。顾名思义,留存指的就是“有多少用户留下来了”。留存用户和留存率体现了应用的质量和保留用户的能力。留存率计算公式留存率=登陆用户数/新增用户数*100% (一般统计周期为天)新增用转载 2013-03-22 18:48:32 · 2639 阅读 · 0 评论 -
PHP开发与Oracle数据库关联的一些问题
oracle 的字段, 在不加引号时, 全部默认转换成大写.加引号时, 则不会自动转换, 写成什么样就是什么样, 在引用该字段时,如果大小写不匹配则报错 ORA-00904: "id": invalid identifier由于存在上述特性,则可能出现2个字段名称一样的现象Oracle的所有命令、语句、对象名及各种名称对大小不敏感。只有对具体数据是敏感的。所以在条件查询进行原创 2013-03-15 19:49:53 · 2049 阅读 · 0 评论 -
PHP中SQL_CALC_FOUND_ROWS与FOUND_ROWS()和count()
MySQL 4.1中新增了FOUND_ROWS()函数,关于这个函数的说明如下:For a SELECT with a LIMIT clause, the number of rows that would be returned were there no LIMIT clauseA SELECT statement may include a LIMIT clause to restr原创 2013-03-01 17:30:49 · 5626 阅读 · 1 评论 -
Input输入控件的size与maxlength及其disabled与readonly属性的区别
最近在PHP+html5的项目中,忽然意识到常用的限制输入框的两个属性,以前还没有注意到区别,现在测试了一下,区别分析如下Input的size与maxlength属性的区别 消息ID " required="required" pattern="[0-9]{1,8}" autofocus="autofocus" pla原创 2013-03-12 18:18:34 · 6712 阅读 · 0 评论 -
SQL中order by 、group by 、having的用法区别
Having 这个是用在聚合函数的用法。当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算。运算完后就要用到HAVING 的用法了,就是进行判断了,例如说判断聚合函数的值是否大于某一个值等等。select customer_name,sum(balance)from balancegroup by customer_namehaving转载 2013-03-01 18:15:04 · 46254 阅读 · 1 评论 -
PHP的session存放路径及其配置session.save_path
PHP配置文件中session.save_path负责session文件的存放位置。如果没有配置则不会生成session文件,如果配置的目录session.save_path = "E:/ttt"不存在,则会报错:Warning: session_start() [function.session-start]: open(E:/ttt\sess_e0b64760c92422d81c1d6原创 2013-02-22 18:48:53 · 129323 阅读 · 1 评论 -
浅谈php表单提交中enctype属性
实际项目中,form表单的enctype属性设置成了“text/plain”,$_POST[]取值取不到。解决方法是删除该属性,或者设置为其他的另外两种属性值。遇到的问题,记录在此。这里再来熟悉一下php中form表单中enctype属性的设置。form表单中的enctype属性指定将数据发回到服务器时浏览器使用的编码类型。下面是取值说明:multipart/form-data:原创 2013-02-22 17:44:12 · 9034 阅读 · 0 评论 -
【学习笔记】session机制实现PHP购物车
使用到session的页面必须要有session启动函数session_start();清空系统中session可以用session_destroy();函数。在php.ini文件中关于session的配置:session.save_path定义了存放session 的路径;session.name定义了sessionID的名称。下面是练习的例子,列出代码。index.html页面:原创 2013-02-22 17:06:43 · 14675 阅读 · 1 评论 -
综述PHP中的Cookie与Session机制
Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪该会话,必须引入一种机制。Cookie就是这样的一种机制。它可以弥补HTTP协议无原创 2013-02-21 18:23:33 · 1940 阅读 · 0 评论 -
php获取/检查当前类名函数名的方法
php获取/检查当前类名函数名的方法■function_exists() - Return TRUE if the given function has been defined■is_callable() - 检测参数是否为合法的可调用结构■class_exists() - 检查类是否已定义■method_exists() - 检查类的方法是否存在__FUNCTION原创 2013-03-22 18:46:58 · 5608 阅读 · 0 评论 -
php分析tsv/csv文件
tsv跟csv都是某种格式的文件,不过csv是以逗号,分隔字段值数据,tsv是以tab分隔记录数据。 用Excel可以打开这类文件,同时(.ESV-.TSV)文件也可以导入到PLSQL中。一、在 Excel 中打开 TSV 或 CSV 文件1. 在 Excel 文件菜单上, 单击打开。 2. 单击以选中 TSV(为用制表符tab分隔的文件) 或 CSV (为用逗号,分隔的文原创 2013-04-09 10:48:44 · 4747 阅读 · 0 评论 -
【输入智能提示功能】PHP+jQuery实现自动补全功能
前面手工写了一个下拉自动补全功能,写的简单,只实现了鼠标选择的功能,不支持键盘选择。由于项目很多地方要用到这个功能,所以需要用心做一下。发现select2这个插件的功能可以满足当前需求。在使用jquery插件select2的过程中遇到了一些疑惑,无论是穿json数据还是通过jsonp方式取数据,都能够正确返回。可是下拉列表中的条目却不能被选中,对鼠标和键盘选择都无效。后来发现,sele原创 2013-05-09 18:56:30 · 2214 阅读 · 0 评论 -
PHP之Laravel框架使用问题汇总与解决方式
Laravel作为市场上最受欢迎的PHP MVC框架之一,有许多开发者用户在使用Laravel。最近刚刚接触Laravel框架,也遇到了一些问题,这里总结经验并将解决方式记录如下,希望对遇到同样问题的开发者有所帮助。问题一:多环境下Apache服务器无法启动使用wamp或xampp等PHP集成安装环境,遇到Apache服务器无法启动,错误提示如下:19:30:45 [Apache] Attempti原创 2015-07-07 21:25:46 · 24851 阅读 · 0 评论 -
Zend Studio 开发Resource is out of sync with the file system的解决办法
SVN上down下来的项目,本地运行却无法显示页面,经过尝试给模板文件改名就能回避这个问题。定位到是模板缓存的问题,于是清模板缓存。但是发现ThinkPHP项目Runtime目录下的缓存文件在删除时候会提示:Resource is out of sync with the file system原因是由于在不同的文件系统之间修改造成文件系统不同步。解决方法是在Zend左原创 2014-08-15 12:31:56 · 2550 阅读 · 0 评论 -
PHP discuz论坛操作需要注意的问题汇总
1.如果有许多个性化的论坛版块制作要求,复制类似default这样的文件夹-自定义的论坛风格版块在template目录下后后,一定要注意修改discuz_style_***.xml配置文件。其中有模板名称、模板目录等比较重要的参数要设置一下。2.discuz官方提供的很多漂亮的皮肤和论坛风格都要收费,如果我们手头有自己制作的风格或第三方的免费包,安装时候会提示非法,这时候可以按照如下方法解决:原创 2014-01-28 19:14:27 · 3603 阅读 · 0 评论 -
PHP概率算法(适用于抽奖、随机广告)
最近在做一个斗三国游戏用户抽奖活动的后台,看到一篇效率不错的算法介绍文章,特意转载收藏一下。原文如下:做网站类的有时会弄个活动什么的,来让用户参加,既吸引用户注册,又提高网站的用户活跃度。同时参加的用户会获得一定的奖品,有100%中奖的,也有按一定概率中奖的,大的比如中个ipad、iphone5,小的中个Q币什么的。那么我们在程序里必然会设计到算法,即按照一定的概率让用户获得奖转载 2014-01-07 19:15:35 · 7869 阅读 · 1 评论 -
Linux Xshell4下编译安装php mongodb扩展经验分享
Php的安装路径/usr/local/php首先从mongoDB官方http://pecl.php.net/package/mongo下载最新的php mongodb扩展源码命令:wget http://pecl.php.net/get/mongo-1.4.5.tgz解压缩:tar zxvf mongo-1.4.5.tgz mongo-1.4.5进入文件夹:cd mon原创 2013-12-12 16:52:17 · 3751 阅读 · 0 评论 -
PHP 安装启用图形扩展的GD库
php 安装gd库1、查看php信息php -v[root@TJSJHL242-181 achievo]# php -vPHP 5.3.6 (cli) (built: Aug 19 2011 19:35:20) Copyright (c) 1997-2011 The PHP GroupZend Engine v2.3.0, Copyright (c) 1998-2011转载 2013-08-08 18:05:47 · 15843 阅读 · 0 评论 -
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?JavatimeJavaScriptMath.round(new Date().getTime()/1000)getTime()返回数值的单位是毫秒Microsoft .NET / C#epoch = (DateTime.Now.ToUniversalTime().Ti转载 2013-08-07 17:03:23 · 1481 阅读 · 0 评论 -
PHP处理中文字符串中的特殊字符解决Oracle插入报错的问题
PHP将中文字符串中的\替换为',用如下实现:$field=str_replace("'", "\\\", $field);最近项目中,Oracle数据库在插入一个很普通的摘要中文内容时,莫名报错,而且数据并未插入到表中。经过调试,最好发现是因为中文摘要内含有单引号,影响到了oracle insert的正确执行。为此,就必须在html中用js对数据进行处理,或者PHP接收表原创 2013-07-10 19:01:01 · 2653 阅读 · 0 评论 -
PHP嵌套HTML写法
一般来说有两种混合写法,一种是HTML套PHP,写作;另一种是PHP套HTML,写作 ,若php开启短标签写法,也可写作还有一种不太常用的混合写法如下:easy way to execute conditional html / javascript / css / other language code with php if else:if (condition):?>原创 2013-07-09 11:10:46 · 25221 阅读 · 0 评论 -
各浏览器对cookie的限制
一、浏览器允许每个域名所包含的 cookie 数:Microsoft 指出 Internet Explorer 8 增加 cookie 限制为每个域名 50 个,但 IE7 似乎也允许每个域名 50 个 cookie(《Update to Internet Explorer’s Cookie Jar》)。 Firefox 每个域名 cookie 限制为 50 个。Opera 每个域名转载 2013-02-21 18:20:37 · 2188 阅读 · 0 评论 -
session cookie 原理
在浏览器地址栏输入javascript:alert (document. cookie)会话(Session) 跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户 身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cook转载 2013-02-21 18:17:54 · 3393 阅读 · 0 评论 -
ASCII码详解 && PHP字符串处理函数
ASCII码表ASCII码大致可以分作三部分組成。第一部分是:ASCII非打印控制字符; 第二部分是:ASCII打印字符; 第三部分是:扩展ASCII打印字符。第一部分:ASCII非打印控制字符表ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备。例如,12代表换页/新页功能。此命令指示打印机跳到下一页的开头。(参详ASCII码表中0-31)第转载 2013-02-06 11:45:22 · 5447 阅读 · 0 评论 -
几道有关局部变量和全局变量的题目
php变量的主要两种类型,局部变量和全局变量。定义一个函数,这个函数里的变量都是局部变量,它们只能在这个函数内部使用,return的值是这个函数的返回值。调用这个函数就会输出这个值,这个值可以是函数内的变量 也就是局部变量。作用域又叫变量的能见度,是不同的。全局变量只要是在这个页面里就能使用 。超全局变量 在所有页面都能使用。学习过程中练习了一些题目,记录在此。原创 2013-02-01 18:15:50 · 1814 阅读 · 0 评论 -
php中empty()和isset()、echo()和print()、require()和include()等易混淆函数的区别
1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。$r = print "Hello World"; 这意味着print可用在一些复杂的表达式中,而echo则转载 2013-02-01 17:20:09 · 831 阅读 · 0 评论 -
require(),include(),require_once()和include_once()区别
require,include语句很有用,它们能包含位于独立文件中的代码,实现代码结构的模块化,方便调用。require_once()和include_once()语句分别对应于require()和include()语句。require_once() 和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。如果ph原创 2013-02-01 17:04:03 · 1439 阅读 · 0 评论 -
php变量与函数的特殊性
PHP语言是弱类型语言。也就是说php变量的类型是由值来动态决定的。php变量名可以包括数字、字母、下划线,但数字不能打头。php变量前有一个"$"符号,表示为php的变量。注意:变量名区分大小写。输出一个不存在变量,不报错,也无任何显示。php变量的分类及其作用域、生命周期局部变量——定义且使用在函数体内,作用域就是所在函数。即从声明它的那条语句开始到函数结束。全局变量—原创 2013-02-01 10:50:41 · 1285 阅读 · 0 评论 -
php布尔型数据类型以及流程控制的数据类型转换
布尔型是最简单的数据类型。可以为TRUE或者FALSE,关键字不区分大小写。要显式的将一个值转换为布尔型,用(bool)或者(boolean)来强制转换。php在许多情况下,会进行自动类型转换,尤其在流程控制语句的条件表达式计算时。当转换为布尔值,以下值被认为是false: 1)布尔值false; 2)整型值0(零); 3)浮点型值0.0(零); 4原创 2013-01-31 16:59:04 · 4299 阅读 · 0 评论 -
Notepad++去除代码行号的几种方法
问:在网页中复制代码时,常常遇到高亮程序自动给代码加上行号或字符“#”,如何格式化?如下:# 1 //去除首字符或行号# 2 <?php# 100 echo '再长点';# …… ……# 2010 echo '无语了吧';# 2012 ?>解1:手动删除,才2012行~~~不多不多.LOL解2:打开 Notepad++,按住 Alt,鼠标点击拖出选择框,这个是列选 方法,相转载 2013-02-01 13:13:03 · 7602 阅读 · 0 评论 -
php流程控制语句以及条件判断中的数据类型转换
php的流程控制语句包括循环体语句和分支判断语句。循环操作包括三组语句,分别是while、do-while、for循环。分支判断体包括两组:if else语句、switch语句。以下以几个题目来理解php流程控制语句以及条件判断中的数据类型转换。***********************************************题目一、if-else语句与条件判断原创 2013-01-31 17:21:14 · 3857 阅读 · 0 评论 -
一道小题引出的php数据类型转换问题
题目如下:<?php$a = 3;$b = 5;$c = $a > $b ? 2:4;echo $d = $a<$c;/*analysis why the result is 1*/echo $d;echo gettype($d);echo var_dump($d);/*example 2*/if('ABC'==0) echo 'yes';else原创 2013-01-31 11:05:58 · 2175 阅读 · 1 评论 -
学习php正则表达式必读文章集合
解析PHP正则表达式元字符PHP正则表达式元字符都有什么呢?我们在使用PHP正则表达式元字符的时候需要注意什么呢?那么这里就向你详细介绍下PHP正则表达式元字符的种类以及使用的方法等等。PHP正则表达式元字符的种类:◆大括号◆加号◆星号◆问号PHP正则表达式元字符具体的使用:PHP正则表达式元字符在PHP正则表达式中一类有特殊意义的字符,用来描述其前导字符(转载 2013-02-06 17:39:24 · 1985 阅读 · 0 评论 -
PHP间隔输出显示IE和Firefox不兼容的问题
PHP间隔输出显示IE和Firefox不兼容的问题运行PHP出现Cannot modify header information问题,解决方法:找到安装目录下的php.ini 这个配置文件,查找:output_buffering,并将其值由原来的Off改为On或者其他数值如4096,最后重新启动Apache。注意ob_flush()和flush()的区别。前者是把数据从PH原创 2013-02-17 17:49:56 · 1584 阅读 · 0 评论 -
MySQL之Prefix Index
主从数据库的建立一般基于以下三个方面考虑:1、容灾:备库在异地,主库不存在了,备库可以立即接管,无须恢复时间2、负载均衡:主库做增删改,备库做查询,这样很多查询业务不占用主库资源3、数据集中和分发:此种模式主要用于数据从分公司集中到总公司,或从总公司分发到分公司,前提是公司需要同步的数据很少,另外各公司间业务系统不是同一家公司开发的同步功能主要通过数据库同步软件实现的,象ORACLE的DA原创 2013-03-04 17:03:21 · 3994 阅读 · 0 评论 -
彻底理解PHP的SESSION机制
1.session.save_handler= files * 1.session_start() 1.session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中,PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是根据php.ini的配置决定的,但是有的系统是 ses转载 2013-02-21 18:16:27 · 815 阅读 · 0 评论 -
PHP去除换行符与PHP_EOL变量的使用
PHP去除换行符与PHP_EOL变量的使用一个小小的换行,其实在不同的平台有着不同的实现,为什么要这样,可以是世界是多样的。本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,windows系列用 /r/n,mac用 /r,这样就用你写的程序在不同的平台上运行有着不少的麻烦。下面是PHP去除换行转载 2013-03-05 15:44:12 · 4470 阅读 · 0 评论 -
PHP中magic_quotes_gpc和 magic_quotes_runtime区别及其反斜线转义问题
php中关于反斜线转义:php中数据的魔法引用函数 magic_quotes_gpc 或 magic_quotes_runtime 设置为on时,当数据遇到 单引号' 和 双引号" 以及 反斜线\ NULL时自动加上反斜线,进行自动转义。注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运原创 2013-03-05 15:40:24 · 7165 阅读 · 0 评论 -
PHP表单处理-GET与POST区别
PHP表单处理form表单的提交主要有两种方式:get和postGET方法接收的特点:所有输入的数据被加载到请求的URL地址后面,数据通过键/值对的方法加载。GET方法接收的特点:把数据和请求的URL地址放在一起,浏览的结果放在缓存区内。由于GET放在URL后面传递,所以传递的数据大小有限。实例:next.php?user=admin&pwd=123456数据传递到next原创 2013-02-21 12:17:36 · 10666 阅读 · 1 评论