
PHP
文章平均质量分 71
hzcyclone
这个作者很懒,什么都没留下…
展开
-
解决php导出csv文件打开乱码的问题
什么是CSV文件?Comma Separator Value(逗号分隔值)是也。常常用来数据转换的中间文件存在,比如:从Mysql中导出数据到CSV,导入CSV到SqlServer中。最近在用Epsilon的邮件服务做邮件营销,Epsilon的web前端接受csv格式的邮件列表,于是乎在Linux下用PHP脚本从Mysql数据库中将user表的数据按照条件导出成csv,以便导入到Epsilon的web前端发邮件,问题出现了,使用utf-8编码导出CSV文件,打开后里边的中文成了乱码(Windows下CSV文转载 2010-07-22 22:38:00 · 1943 阅读 · 0 评论 -
Windows下面php5找不到php_curl.dll的问题
<br />由于要用到Curl,所以设置的时候提示这样的错误:<br />unable to load dynamic library ‘….php_curl.dll’<br />我的环境是Apache/2.2.14 (Win32) PHP/5.3.0,按理说php5的安装是很简单的,直接指定extension_dir = “c:/php523/ext/”就可以了,像gd2, mysqli和mysql_dll都没问题,唯独 php_curl.dll总是提示出错。试着修改PATH路径,把DLL复制到/wind转载 2010-08-16 13:52:00 · 886 阅读 · 0 评论 -
curl_init()
<br />$ch = curl_init();<br />$c_url = 'http://?';<br /> $c_url_data = "product_id=".$product_id."&type=".$type."";<br /> curl_setopt($ch, CURLOPT_URL,$c_url);<br /> curl_setopt($ch, CURLOPT_POST, 1);<br /> curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<b转载 2010-08-16 13:56:00 · 910 阅读 · 0 评论 -
php生成html静态页面缓存技术原理【附实例】
<br />目前网络上好多网站的新闻发布系统都采用了动态服务器技术生成静态HTML的做法,这样做的好处是:一是能减轻其服务器的负担,二是因为生成了HTML静态页面,所以其网站被搜索引擎搜索到的机率更大一些。笔者的网站曾经使用PHP这一动态技术来构建新闻发布系统,其原理也就是应用了PHP生成HTML静态页面的技术,相关平台是 Windows XP Sp2+php4.32+mysql,因此,在这里,想简单地谈一下这种做法的思路。这篇文章适合于对PHP+MYSQL数据库操作,SQL语句以及网页设计有点基础的朋友,转载 2010-08-24 16:25:00 · 1208 阅读 · 0 评论 -
strlen("汉字")的值是多少
<br />这个问题的答案与系统所采用的字符编码方式有关:<br />1. utf-8<br /> 如果系统采用的是utf-8,那么strlen("汉字")=6,即一个汉字占用3个字节。linux系统默认情况下采用的该种编码方式。<br />2. gb2312<br /> 如果系统采用的是gb2312,则strlen("汉字")=4,即一个汉字占用2个字节。windows中文版采用的该种编码方式。转载 2010-12-03 16:51:00 · 1023 阅读 · 0 评论 -
php正则表达式验证手机号码的合法性
<br />验证一般是把web前端和php的后端结合起来的,前端一般用javascript验证,后端就用php了。<br />这个例子中我把前端和后端的代码都贴出来,方便以后查看。<br />前端代码我使用jquery.validate.js,代码如下:<br /> <br />JavaScript代码<br /><script type="text/javascript"> <br />$(document).ready(function() { <br /> $("#smForm")转载 2010-11-03 16:05:00 · 2265 阅读 · 0 评论 -
国外十大最流行PHP框架排名
<br />1. Yii<br /><br />Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。 <br />2. CodeIgniter<br /><br />原创 2011-02-28 22:46:00 · 665 阅读 · 0 评论 -
PHP开发框架总结
收集整理了一些主要的PHP开发框架和CMS系统平台,在此一并作个总结,或许以后会有补充。<br /><br />开发框架<br />WACT http://wact.sourceforge.net/<br />老牌的PHP编程框架,实现了很多企业级的开发模式<br /><br />Horde http://www.horde.org/horde/<br />提供了一些常用类库,可以满足参数处理、数据压缩、浏览器检测、链接跟踪以及 MIME。需要PEAR类库的支持,提供了API参考。<br /><br />S转载 2011-02-28 22:48:00 · 689 阅读 · 0 评论 -
从头学习Drupal--基本架构一
<br />前面学习了Drupal的一些基本概念, 其实我们在构建一个系统的时候, 一般都需要从两个方面来考虑问题:业务模型<br />也就是领域模型, 是面向我们所要解决的问题域所构建的模型, 前面我们说的关于内容描述方面的几个概念, 其实就是对领域内概念,元素进行概括,抽象得出的业务模型基类. 构建良好的业务模型, 能有效地将问题域中的对象进行分类,综合, 理清他们间的关联, 阐明他们相互间的协作, 并为最终形成系统的对象数据模型打下基础. 我们所说的面向对象(OO), 其实主要就是一个建模的思想.转载 2011-03-09 16:16:00 · 1747 阅读 · 0 评论 -
从头学习Drupal--基本架构二
<br />前面说了, Drupal的逻辑层由一个核心框架和一系列的功能模块(Module,可以看成插件)构成, 框架与模块间的协调就是通过钩子机制来实现, 所以钩子机制是Drupal模块化系统的关键。什么是钩子机制, 它与面向对象的接口(Interface)类似, 就是为规范定义了两个实体间的功能界面, 使得实现了该界面的实体能进行交互. 在Drupal里, 钩子就是Drupal框架与模块间进行交互的接口, 但由于Drupal没有面向对象的机制, 所以它采用编程规约来讨巧地实现. <br />在Drupa转载 2011-03-09 16:18:00 · 872 阅读 · 0 评论 -
从头学习Drupal--基本架构三
<br />菜单(Menu)<br />前面曾经简单提到过Drupal的菜单, 今天稍微深入来探讨一下. 菜单能用来显示导航信息, 我们安装的系统, 默认安装有3个菜单, 让我们查看一下数据库吧, 以menu_开头的总共有三张表: menu_custom, menu_links, menu_router. 其中menu_custom表存放菜单定义信息, 但想知道他们都是由哪个模块定义的麽? 别忘记了菜单如果要显示就是区块哦, 打开区块表(blocks)看看吧. Here it is! 用户模块(User M转载 2011-03-09 16:19:00 · 892 阅读 · 0 评论 -
从头学习Drupal--基本架构四
<br />主题(Theme)<br />主题是什么呢? 其实这个词已经被用的很泛了, 所有涉及外观定制的地方都充斥着这个词, 比如我们最常见到的windows桌面主题, QQ的界面皮肤等. 说白了主题就是外观, 可定制主题就是允许用户自定义应用的外观.<br />Drupal的外观也是由其主题(Theme)来表现的, 一个CMS只有强大的业务逻辑处理和扩展能力, 而没有好的外表, 一样会流失大量的用户. 所幸Drupal的外观表现机制同样十分强大, 它允许网站开发人员为其网站重新设计开发个性化主题, 同时转载 2011-03-09 17:16:00 · 908 阅读 · 0 评论 -
深入浅出drupal架构
<br /> 说drupal是一个cms倒不如说是一个功能比较完善的框架,不同的人会用drupal干不同的事情。<br /> <br /> 一个不太熟悉编程的人可以用它来快速搭建一个网站(之所以不说cms网站,是因为现在drupal已经可以做的更多),再加上数以万计的功能模块,基本可以满足大多数网站的需求。但这仅仅是使用drupal,就像国内的代工企业,只会按照国外的设计图纸组装,却并不知道实现原理,也就很难有创新。<br /> <br /> 对于一个开发人员,drupal只不过是一个设施转载 2011-03-09 09:33:00 · 1807 阅读 · 0 评论 -
从头学习Drupal--基本架构五
<br />任何一个开放系统(Open System), 只要它与外界有接口, 就存在安全问题, 越是商业级应用越注重安全. 安全管理涉及很广, 大到整个网络安全的设定,小到具体按钮的访问, 如果你的系统哪天出现安全问题, 没准追根溯源能找到机房看门老头, 呵呵, 玩笑话略过, 今天我们主要看看Drupal的用户权限管理, 也就是访问控制系统.<br />权限管理的要素<br />我认为, 一个权限管理系统主要由以下四要素组成: 访问者, 管理对象, 操作和规则.访问者: 谁干? who. 一般来说是人,转载 2011-03-09 17:17:00 · 832 阅读 · 0 评论 -
php中break,continue,exit的使用与区别
<br />1.break跳出代码片段,结束这个循环 <br />2.continue结束当前片段,结束这次循环,继续下一次循环<br />3.exit 结束整个PHP代码<br /> break的作用是跳出这个循环(如果这个break或者continue在循环中的if语句里面,不是跳出if语句,而是跳出循环语句),执行这个循环的大括号以后的语句,break在循环语句中是这样,在switch语句用功能也是这样的,而continue是当条件满足的时候不执行这个循环后面的语句,从这个循环的开始重新执行。<原创 2011-03-09 20:17:00 · 943 阅读 · 0 评论 -
register_globals使用详解
<br />register_globals是php.ini里的一个配置,这个配置影响到php如何接收传递过来的参数,如果你的问题是:为什么我的表单无法传递数据?为什么我的程序无法得到传递过来的变量?等等,那么你需要仔细的阅读以下的内容。 <br /><br />register_globals的值可以设置为:On或者Off,我们举一段代码来分别描述它们的不同。 <br />代码:<br /><form name="frmTest" id="frmTest" action="URL"> <br /><inp原创 2011-03-12 20:50:00 · 620 阅读 · 0 评论 -
内部用Drupal/PHP开发规范1.2
<br />前言<br />常言道,“没有规矩,不成方圆”。良好的编程风格与规范对开发者以及项目管理人员都是非常重要的。<br />当一个软件项目尝试着遵守公共一致的标准时,可以使参与项目的开发人员更容易了解项目中的代码、弄清程序的状况。使新的参与者可以很快的适应环境,防止部分参与者出于节省时间的需要,自创一套风格并养成终生的习惯,导致其它人在阅读时浪费过多的时间和精力。而且在一致的环境下,也可以减少编码出错的机会。缺陷是由于每个人的标准不同,所以需要一段时间来适应和改变自己的编码风格,暂时性的降底了工作效原创 2011-03-14 11:03:00 · 903 阅读 · 0 评论 -
PHP框架测试(yii、qee、ThinkPHP、CodeIgniter)
“听说过没见过,两万五千里啊。。。”就像歌里唱的那样,对于框架的执行效率 我也是听别人说哪个框架执行效率有多高,从来没有亲自测试一下效率。这不,刚好有空 我也亲自测试一下,毕竟眼见为实啊。zend framework就不比了,执行效率最低不用说。 一、系统环境: 笔记本,内存1G,迅驰1.6G,windows xp sp2,Lighttpd 1.4.11 for windows, PHP5.2.9-2,php以fast-cgi方式运行。(注:有对这环境配置感兴趣及遇到问题的请直接与我联系) 二、测转载 2011-02-22 22:52:00 · 5230 阅读 · 1 评论 -
利用新浪微博第三方认证OAuth登录自己的网站
1. 类库下载:用于新浪微博开放平台的PHP Lib. 内含能直接使用的DEMO. SAE上OAuth版本内置了,不用下载,参考http://blog.sae.sina.com.cn/?p=107*Basic认证版本在这里下载 http://code.google.com/p/libweibo/downloads/list新浪官方下载页面:http://open.t.sina.com.cn/wiki/index.php/SDK#PHP新浪宣布2011.6.1全面停止 Basic Auth的支持,所以要请开发原创 2011-03-24 16:57:00 · 6345 阅读 · 0 评论 -
php LDAP简介
<br />LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。<br /> 简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。<br /> LDAP是转载 2011-05-23 17:34:00 · 1252 阅读 · 0 评论 -
Drupal中的checkboxes的default_value
<br />今天在写模块的时候遇到一个问题。checkboxes的默认值怎么也获取不到。<br />需要说明一下,drupal的from API中,生成checkbox有二个方法,一种是自已循环生成,代码如下:<?php<br />/**<br />* form['workflow']的其它内容<br />*/<br />foreach($data as $k=>$v){<br /><br /> $form['workflow'][$k] = array(<br /> '#type' =>原创 2011-05-25 15:31:00 · 1093 阅读 · 0 评论 -
用Php如何操作LDAP
1 LDAP是什么<br /> LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。<br /> LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。<br转载 2011-05-23 22:04:00 · 685 阅读 · 0 评论 -
PHP LDAP 目录协议函数库
<br />在 LDAP 的协议之中,很像硬盘目录结构或倒过来的树状结构。LDAP 的根就是全世界,第一级是属于国别 (countries) 性质的层级,之后可能会有公司 (organization) 的层级,接着是部门 (organizationalUnit),再来为个人。而就像文件,每个人都会有所谓的显名 (distinguished name, 简称 dn),dn 可能像酱子 cn=John Smith,ou=Accounts,o=My Company,c=US。<br /> ldap原创 2011-05-23 22:24:00 · 854 阅读 · 0 评论 -
PHP文件缓存效率测试(一)
PHP文件缓存内容保存格式主要有三种: 1.变量 var_export 格式化成PHP正常的赋值书写格式,用的时候直接include文件 2.变量 serialize 序列化之后保存,用的时候反序列化 3,变量 json_encode格式化之后保存,用的时候json_decode 一直转载 2011-06-30 12:56:00 · 690 阅读 · 0 评论 -
PHP文件缓存的性能测试(二)
前言:在开发MooPHP的过程中,为了寻找更为高效的缓存方式,对两种最常用的缓存方式进行了测试。PHP常用缓存方式:第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。第二种,把需要的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量转载 2011-06-30 12:57:00 · 531 阅读 · 0 评论 -
在drupal中开启SSL支持
在互联网中,"S" 是一个非常重要的字母。在互联网上的各种传输中,如果你非常关心你的数据的安全性,你对"S"一定不会陌生,比如,你会用SFTP 而不是 FTP, 用 SSH 而不是 Telnet, 用 HTTPS 而不是 HTTP.所以,用drupal建的站中,如何开启SSH原创 2011-09-01 17:02:12 · 1312 阅读 · 0 评论 -
PHP 实现多服务器共享 SESSION 数据
一、问题起源稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名、密码在整个网站的各个模块中都是可以登录使用的。各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器转载 2011-08-12 10:44:15 · 668 阅读 · 0 评论 -
PHP session有效期session.gc_maxlifetime
PHP中的session有效期默认是1440秒(24分钟)【weiweiok 注:php5里默认的是180分】,也就是说,客户端超过24分钟没有刷新,当前session就会失效。很明显,这是不能满足需要的。一个已知管用的方法是,使用session_set_save_handl转载 2011-09-23 11:46:09 · 628 阅读 · 0 评论 -
php中session过期时间设置
网上很多人给出了解答:修改php配置文件中的session.gc_maxlifetime。如果想了解更多session回收机制,继续阅读。(本文环境php5.2)概述:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,转载 2011-09-23 11:00:44 · 579 阅读 · 0 评论 -
php常用image图像函数集
gd_info函数:获取当前安装的GD库的信息 getimagesize函数:获取图像的大小 image_type_to_extension函数:获取图像类型的文件后缀 image_type_to_mime_type函数:判断一个IMAGETYPE常量的MIME类型原创 2011-09-28 17:18:15 · 624 阅读 · 0 评论 -
编译性语言、解释性语言和脚本语言
什么是编译性语言、解释性语言和脚本语言 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能值型高级语言编写的程序。 翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需转载 2011-10-12 21:59:56 · 435 阅读 · 0 评论 -
简单说说PHP优化
我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少。往往我们在追求这些的同时却失去了很多东西。下面我想讲讲我对PHP优化的理解。优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。进行大范围的优化,而不是死啃某些程序代码我这里所说的优化,基本上都是从服务器,Apache,数据库这些方面来进行的优化,而并不是对你的PHP代码加以改进从而提高程序的运行速度,转载 2011-11-16 22:06:38 · 395 阅读 · 0 评论 -
深入认识Joomla! CMS:扩展、菜单及模板
本站虽已发表一篇《什么是Joomla!》,但那时我对Joomla!也只是初识,难以说得清楚。本站会员云海思源在论坛也曾提出希望讲解一下Joomla的常用术语。今天旧话重提,再谈谈Joomla的结构、术语等相关问题。Joomla 安装结束后的根目录 Joomla的结构上图是 Joomla 1.0.x 安装成功后的根目录内容。与Joomla的安装转载 2011-11-17 11:25:48 · 1969 阅读 · 1 评论 -
How to creating a Component of Joomla
For our basic component, we only require five files:site/hello.php - this is the entry point to our componentsite/controller.php - this file contains our base controllersite/views/hello/view.html.原创 2011-11-17 16:42:32 · 504 阅读 · 0 评论 -
如何让notepad++支持自定义文件的语法高亮
公司管理比较严格,软件安装只能在公司的软件库里选择,以前都用editplus,库里没有,选了个替代品notepad++。我是用记事本写代码写惯的人,用个集成的还不习惯。装了np++,drupal里又有很多module后缀名的文件,打开没用语法高亮。得配置一下,搞个半死终于搞定,步骤如下:1. 在np+文件夹下找到langs.xml,搜索php关键字 有这么一行:原创 2011-04-01 11:49:00 · 6455 阅读 · 0 评论 -
PHP与MySQL的存储过程
实例一:无参的存储过程$conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");mysql_select_db('test',$conn);$sql = "create procedure myproce()beginINSERT INTO user (id, username, sex) V转载 2012-02-21 21:53:51 · 374 阅读 · 0 评论 -
认识 PHP 的hash函数
转自(香港 PHP 用家社區)Hashing function (散列函式) 在网页应用中被广泛采用,从数码签署、错误检测、登入验证、到压缩储存空间,由于它的原理比较复杂,很多人把它跟加密函式混淆,对于如何运用hash function,如何选择合适的hash function,和它的优点缺点都不清楚,本文尝试解答这些问题。简单地说,Hashing 是一种数据影射(mapping)转载 2012-02-23 00:01:58 · 596 阅读 · 0 评论 -
有关JSON以及JSON在PHP中的应用
JSON 基础简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript 很容易解释它,而且 JSON 可以表示比名称/值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和转载 2012-02-19 23:20:30 · 350 阅读 · 0 评论 -
PHP Web Service权限验证
PHP中使用SoapServer来创建Web Service进行权限验证的两种方法:soap头验证,http头验证。1.soap头验证class test{ var $is_login = false; function auth($key){ //if($key!='123') throw new SoapFault("auth failed", "123")转载 2011-11-10 15:25:49 · 801 阅读 · 0 评论 -
phpwind的密码及cookie加密方式
phpwind的数据表中,密码采用单纯一次md5加密的方式。所有的密码经过一次md5之后存入数据库。这在当今来说,并不是什么安全的方式。因为假设,你的数据库被人盗取,那么用户的密码也几乎被人盗取。因为现在甚至有在线破解md5值的网站,已经积累了大量的数据,简单的位数短的密码可以直接还原。让你的隐私无处循形。而在本博中,我曾提到过一次discuz的加密方式,http://www.akii.org转载 2012-03-12 12:55:21 · 2100 阅读 · 0 评论