PHP技术 http://uncletoo.com/html/php/ zh-cn php编辑ppt方法 PHPPowerPoint类 学习 http://uncletoo.com/html/application/1195.html 某一网站项目需要前台提交信息生成ppt提供下载和在线预览。
所用 PHPPowerPoint类 传送门 :
http://phppowerpoint.codeplex.com/

PHP 生成 PowerPoint 2007 示例脚本.:

]]>
php面向对象中static静态属性和静态方法的调用 http://uncletoo.com/html/application/1194.html        这里分析了php面向对象中static静态属性和静态方法的调用。关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了。静态属性、方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性)。

实例:

结论:

]]>
PHP查看文件修改时间 http://uncletoo.com/html/application/1193.html        在PHP开发中我们有时需要知道文件的最后访问时间和文件最后修改的时间,介绍一下PHP提供的确定文件的访问,创建和最后修改时间的3个函数:fileatime(),filectime()和filemtime()。
1、fileatime()
int fileatime(string filename)

fileatime()函数返回filename最后访问的时间,这里的最后访问是指每当一个文件的数据块被读取,采用UNIX时间戳格式,有错误时返回FALSE。
2、filectime()
int filectime(string filename)

filectime()函数返回filename最后改变的时间,这里的最后改变是指指定文件 filename 的 inode 最后改变时间,其中inode (索引节点)用来存放档案及目录的基本信息包含时间、档名、使用者及群组等,采用UNIX时间戳格式,有错误时返回FALSE。
3、filemtime()
int filemtime(string filename)

]]>
PHP生成图片缩略图,并在浏览器中显示,灵活,实用 http://uncletoo.com/html/application/1190.html        由于个人需要上传图片至网站相册,并以缩略图的形式显示,百度了很多源码屡试屡败,自己写了一个函数,已成功运行。缩略图在浏览器中的显示方法是将图片的 src 地址指向一个PHP文件,来调用此函数即可显示。

]]>
PHP实现数字转大写人民币的代码 http://uncletoo.com/html/application/1189.html        之前看到一个php版本的把数字变为大写人民币的代码,以前没有打开display_errors,后来为了提高代码质量,把它打开了,发现了几处错误,看着很不爽,现在在一个系统里面应用了,部署到生产环境,发现不得劲,今天抽点时间完善了下,修改的地方注释了。

]]>
php回调函数使用详解 http://uncletoo.com/html/application/1188.html 最近学习到php的回调函数,发现还是蛮难理解的,于是找了度娘查了各种资料来整理出这篇博客。

什么是回调函数?

我在网上找了好些解释,找到一个我认为比较合理的适合php的回调函数:
使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。
简而言之就是,我在调用函数A(通常是API函数)时需要调用自己写的函数B,这时候一个函数无法作为参数传入函数A,那么就可以将B的地址和执行函数所需的参数打包传入A。这里面称B为回调函数。

]]>
PHP错误的解决方法:Allowed memory size of aaaaa bytes exhausted (tried to allocate bbbbb bytes) http://uncletoo.com/html/base/1186.html PHP使用Mysql开发过程中出现这个错:

Allowed memory size of aaaaa bytes exhausted (tried to allocate bbbbb bytes)

翻译过来是aaaaaa字节大小的内存耗尽(试图分配bbbbb字节的时候)

]]>
PHP 删除数组第一个元素和最后一个元素 http://uncletoo.com/html/application/1185.html 1. array_shift()函数
删除数组中第一个元素,并返回该元素的值。如果数组为空则返回null。
示例:

结果:

uncletoo
Array (
[skill] => php
[hobby] => study)

]]>
php处理json数据(从服务器获取,post提交) http://uncletoo.com/html/application/1184.html php处理json数据(从服务器获取,post提交)


]]>
史上最完整的PHP学习思维导图 http://uncletoo.com/html/base/1180.html 点击查看高清大图

史上最完整的PHP学习思维导图,PHP学习路线图

]]>
PHP源码转换编码后出现类似“锘匡豢”的乱码 http://uncletoo.com/html/application/1178.html 一、相关信息

PHP源码直接转换到UTF-8后,很有可能会遇到下面的两个问题:
1. 首行代码为空;
2. 顶行有多个“锘匡豢”;

       导致出现以上问题的原因,可以看一下维基BOM词条,解决的方法也很简单,转换成UTF8后,将BOM的问题解决即可。使用Notepad++转换会更简单,更安全。

]]>
PHP:open_basedir restriction in effect 错误的解决方法 http://uncletoo.com/html/application/1177.html 今天在帮助一个朋友配置一台服务器时发现网站配置好了缓存目录读写不成功,在打开错误时发现如下的PHP错误提示

Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../license.php) is not within the allowed path(s):

下面一起来看此问题解决办法

]]>
PHP教程:类的自动加载 http://uncletoo.com/html/base/1172.html 类的自动加载

在外面的页面中,并不需要去引入类文件,但程序会在需要一个类的时候自动去“动态加载”该类。

创建一个对象的时候new

]]>
PHP自定义函数计算两个时间差 http://uncletoo.com/html/application/1171.html ①根据两个时间戳计算时间差


]]>
Centos7搭建LNMP环境 http://uncletoo.com/html/application/1170.html 具体安装方法请移步:centos安装使用zsh

yum -y install yum-fastestmirror
yum -y update
yum -y install glibc-static libstdc++-static glibc-devel GeoIP GeoIP-devel
yum -y install patch make flex bison tar pcre pcre-devel screen
yum -y install libtool libtool-libs kernel-devel autoconf
yum -y install libjpeg libjpeg-devel libpng libpng-devel
yum -y install libtiff libtiff-devel gettext gettext-devel
yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel
yum -y install file glib2 glib2-devel bzip2 openldap-devel
yum -y install bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs
yum -y install e2fsprogs-devel krb5-devel libidn libidn-devel
yum -y install openssl openssl-devel vim-minimal unzip
yum -y install libevent mcrypt libmcrypt mash libmcrypt libmcrypt-devel
yum -y install gd re2c recode recode-devel libatomic_ops-devel
yum -y install libXpm libXpm-devel gmp gmp-devel gd-devel
export PHP_AUTOCONF=/usr/bin/autoconf
export PHP_AUTOHEADER=/usr/bin/autoheader

2、安装MySQL:

PS.官方有详细的安装说明,详情请戳:MySQL安装方法详解

前往MySQL Yum Repository下载页,页面地址:MySQL Yum Repository下载页,根据服务器版本信息及所需的MySQL版本信息,下载对应的MySQL Yum Repository,本服务器是centos7 64位操作系统,想要使用MySQL5.7,可用就是:http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm,命令如下:

]]>
PHP中 new sel f和 new static 的区别 http://uncletoo.com/html/base/1166.html 结果:Fatal error: Cannot instantiate abstract class DomainObject in......

       self 对当前类的静态引用,取决于定义当前方法所在的类。也就是说,这里的self被解析为定义create()的DomainObject,而不是解析为调用self的Document类。

结果:
class Document#1 (0) {
}

]]>
PHP通用快递查询接口 http://uncletoo.com/html/application/1165.html

]]>
PHP实现隐藏用户名、邮箱、账号等信息中间字符串并以*代替 http://uncletoo.com/html/application/1164.html        PHP如何实现类似某购物网站商品上线销售记录中,用户名中间部分字符信息被 * 代替,还有某些网站将用户手机号中间几位影藏,以 * 代替?

PHP实现隐藏用户名、邮箱、账号等信息中间字符串并以*代替


]]>
PHP常用正则表达式汇总 http://uncletoo.com/html/base/1159.html 平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:

"^\d+$"  //非负整数(正整数+0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\d+)|(0+))$"  //非正整数(负整数+0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数+0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数+0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?\d+)(\.\d+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$///年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$///月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"//Emil
/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$///电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"//IP地址

匹配中文字符的正则表达式:[\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s|]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*)\/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(
\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

]]>
自定义PHP的错误报告处理方式 http://uncletoo.com/html/application/1158.html 如何让PHP按照我们方式去提示错误信息?

使用到的函数:set_error_handler()

语法
set_error_handler(error_handler,error_types);

]]>