PHPMailer配置ssl连接smtp服务器失败的解决方案
作者:admin 日期:2014-06-05
管道实现PHP与Python相互通信
作者:admin 日期:2014-06-03
php回调函数必需知道的几种方法
作者:admin 日期:2014-06-01
php回调函数的几种方法
call_user_func_array(PHP 4 >= 4.0.4, PHP 5) call_user_func_array -- Call a user function given with an array of parametersDescriptionmixed call_user_func_array ( callback function, array param_arr )Call a user defined function given by function, with the parameters in param_arr |
PHP中的错误处理、异常处理机制
作者:admin 日期:2013-11-14
在编写php程序时,错误处理是一个重要的部分。如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门
关于ThinkPHP使用公共语言包的问题总结
作者:admin 日期:2012-11-12
在文章的开始,我首先要声明一点:本篇文章不是讲解的ThinkPHP的多语言转换,而是关于ThinkPHP使用公共语言包来代替模板文件中的汉字的教程.
我们知道,Css方便之处在于它可以让你定义一个样式,只要你修改下这个样式,那么所有的样式都会随之改变,而ThinkPHP的公共语言包功能也是这个原理,我们可以设置一个数组,该数组中包含了模板中用到的语言.如果要修改模板中的多处相同的文字是比较麻烦的,但是如果只是修改数组中的某一项就简单多了.下面我们就来看下,如何在ThinkPHP下建立自己的语言包.
首先,我假设你已经初始化了Thinkphp(生成了文件的架构),在这里就拿我的一个项目为例子来讲解下.
我的项目文件夹是SitePHP(APP_PATH),那么我们首先要配置下语言包的使用环境,我们找到SitePHP/Conf/config.php(如果没有就新建一个)
添加如下语句
return array{ 'LANG_AUTO_DETECT'=> false, 'LANG_SWITCH_ON' => true, 'DEFAULT_LANG' =>'cn', }
好了,下一步我们需要,在SitePHP/Lang文件夹下建立cn文件夹,因为ThinkPHP系统会自动调用默认语言文件夹下的common.php文件,那么我们就建立一个common.php文件,然后在common.php文件中添加如下内容:
return array( 'site_name' =>'我的网站', 'site_keywords' =>'网站,SEO', )
下面是最关键的一步,(笔者因为忽略了这一步好久没有调用成功),在SitePHP/Conf/下 建立一个tags.php文件,然后加入如下内容
return array( 'app_begin'=> array('CheckLang'), );
好了,你已经配置好一切了,可以随便调用了,如果你想在Action中调用,那么可以使用
L(“site_name”)
如果你想在模板中调用,你可以使用{:L(“site_name”)},这样一来如果你想修改网站的名称直接修改site_name的值就可以了,是不是很方便呢?
上面我只是说了一些比较大众的设置,如果你设置了分组,以及TMPL_FILE_DEPR,那么相对就要根据不同的情况来命名语言包了
具体的语言包文件命名规范如下:
项目公共语言包 | 语言目录/common.php |
项目分组语言包 | 语言目录/分组名.php |
项目模块语言包 | 不存在分组情况:语言目录/模块名(小写).php |
存在分组的情况:语言目录/分组名/模块名(小写).php |
分组的模块语言包定义受TMPL_FILE_DEPR参数配置影响,如果你修改了TMPL_FILE_DEPR参数,例如:
- ‘TMPL_FILE_DEPR’=>’_',
那么,分组的模块语言包定义方式应该改为:
语言目录/分组名_模块名(小写).php
ThinkPHP模板替换与系统常量及应用
作者:admin 日期:2012-11-01
默认的模板替换规则:
../Public : 会被替换成当前项目的公共模板目录 通常是 / 项目目录 /Tpl/default/Public/
__PUBLIC__ :会被替换成当前网站的公共目录 通常是 /Public/
__TMPL__ : 会替换成项目的模板目录 通常是 / 项目目录 /Tpl/default/
__ROOT__ : 会替换成当前网站的地址(不含域名)
__APP__ : 会替换成当前项目的 URL 地址 (不含域名)
__URL__ : 会替换成当前模块的 URL 地址(不含域名)
__ACTION__ :会替换成当前操作的 URL 地址 (不含域名)
__SELF__ : 会替换成当前的页面 URL
还可以通过在项目配置文件中配置TMPL_PARSE_STRING的值来自定义替换规则,如:
TMPL_PARSE_STRING
)
ThinkPHP笔记——开启debug调试模式
作者:admin 日期:2012-10-31
基于Thinkphp的开源CMS系统即将面世
作者:admin 日期:2012-10-14
轻松实现DEDE分页列表页自定义字段的查询
作者:admin 日期:2012-09-13
PHP5.4下DEDE登录后白板的解决方法
作者:admin 日期:2012-09-08
php5 non-thread-safe和thread-safe这两个版本有何区别?
作者:admin 日期:2012-09-06
从PHP5.2.10版本开始(现在有PHP5.2.10和5.3两个版本),有None-Thread Safe与Thread Safe两种版本的可供选择,这两种版本有何不同,作为使用者来说又应该如何选择呢?下面将为您讲述。
先从字面意思上理解,None-Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查;Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。
再来看PHP的两种执行方式:ISAPI和FastCGI。FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)。而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。
CURL之用POST方法发送数据
作者:admin 日期:2012-08-07
对CURL还不了解的同学请移步
http://www.zeroplace.cn/article.asp?id=797
当发起GET请求时,数据可以通过“查询字串”(query string)传递给一个URL。例如,在google中搜索时,搜索关键即为URL的查询字串的一部分:
http://www.google.com/search?q=nettuts
curl简介及php中的curl
作者:admin 日期:2012-08-07
CURL简介
curl是利用URL语法在命令行方式下工作的文件传输工具。
它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。
curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证,HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传,,http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器,,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。
php截取html文章
作者:admin 日期:2012-08-02
HTTP Content-type对照表
作者:admin 日期:2012-08-02
PHP5魔術方法的 调用实例
作者:admin 日期:2012-07-22
Javascript中定义类
作者:admin 日期:2012-06-20
正则表达式 贪婪与非贪婪
作者:admin 日期:2012-06-15
asp base64编码中文
作者:admin 日期:2012-06-13
php 正则表达式后缀
作者:admin 日期:2012-06-01
Perl风格的正则表达式允许把单个字符选项(标志)放在正则表达式模式后面来修改匹配的解释或行为。例如,要进行不区分大小写的匹配,可以简单地使用i标志:
preg_match('/cat/i', 'Stop, Catherine!'); // returns true返回true
表4-12显示了在Perl兼容正则表达式中支持的来自Perl的修饰符:
表4-12:Perl标志
修饰符 |
意 义 |
/regexp/i |
不区分大小写的匹配 |
/regexp/s |
使句点(.)匹配任何字符,包括换行符(\n) |
/regexp/x |
从模式中删除空白符和注释 |
/regexp/m |
使^匹配换行符 (\n)之后的内容,美元符号($)匹配换行符 (\n)之前的内容 |
/regexp/e |
如果替换字符串是PHP代码,使用eval()执行该代码来得到实际的替换字符串。 |
PHP的Perl兼容正则表达式函数也支持在Perl中不支持的其他修饰符,如表4-13所示:
表4-13:其他的PHP标志
修饰符 |
意 义 |
/regexp/U |
颠倒子模式的贪婪性;*和+尽可能少地匹配而不是尽可能多。 |
/regexp/u |
把模式字符串当作UTF-8编码对待 |
/regexp/X |
如果一个反斜杠之后跟着没有特殊意义的字符,将产生一个错误 |
/regexp/A |
把锚定位在字符串的开头就像模式中有^一样 |
/regexp/D |
使$字符仅匹配一行的末尾 |
/regexp/S |
使表达式解析器更加小心地检查模式的结构,使得第二次运行时(如在一个循环中)加快速度 |