![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
文章平均质量分 68
jiufreeman
这个作者很懒,什么都没留下…
展开
-
PHP技巧汇总:提高PHP性能的53个技巧
PHP技巧汇总:提高PHP性能的53个技巧 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的函数译注: PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍...2012-10-24 22:16:48 · 88 阅读 · 0 评论 -
PHP网站安全,避免PHP网站受到攻击的方法
对于PHP网站安全主要存在这样几种攻击方式:1、命令注入(Command Injection)2、eval注入(Eval Injection)3、客户端脚本攻击(Script Insertion)4、跨网站脚本攻击(Cross Site Scripting, XSS)5、SQL注入攻击(SQL injection)6、跨网站请求伪造攻击(Cross Site Request Forgerie...原创 2012-10-24 22:17:39 · 126 阅读 · 0 评论 -
SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write
对于SAE出现的问题:Uncaught exception 'SmartyException' with message 'unable to write file...。官方给出了详细的FAQ:http://sae.sina.com.cn/?m=faqs&catId=11#show_213解决方案为: 01$path = "saemc://te...原创 2012-10-25 10:07:25 · 777 阅读 · 0 评论 -
phpexcel导出excel表简单入门示例
<?phperror_reporting(E_ALL);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE); if (PHP_SAPI == 'cli') die('This example should only be run from a Web Browser');...原创 2012-10-25 23:17:45 · 108 阅读 · 0 评论 -
phpexcel导出excel表简单入门示例
先下载PHPEXCEL类文件,放在class目录下面,然后新建一个index.php文件,内容如下<?phperror_reporting(E_ALL);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE); if (PHP_SAPI == 'cli') die('This ...2012-10-25 23:19:35 · 101 阅读 · 0 评论 -
phpexcel导入excel表到数据库简单入门示例
跟导出相对应的,同一个数据表,也是将phpexcel类放在class目录下,将Excel表格中的内容读取出来放到数据库中<?phperror_reporting(E_ALL);set_time_limit(0);?><html><head><meta http-equiv="Content-Type" content="t...2012-10-25 23:43:55 · 241 阅读 · 0 评论 -
PHP ZipArchive 实现压缩解压Zip文件
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。一、解压缩zip文件0102030405060708091011$zi...原创 2012-10-26 16:13:26 · 158 阅读 · 0 评论 -
php 引用(&)详解
在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:<? $a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG"; echo $a;...原创 2012-10-27 09:08:39 · 80 阅读 · 0 评论 -
HTTP状态码大全
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request...原创 2012-10-27 09:22:51 · 153 阅读 · 0 评论 -
HTTP深入浅出 http请求
HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务...原创 2012-10-27 09:24:24 · 105 阅读 · 0 评论 -
PHP session的详细分析
1.PHP session 工作原理 Session文件储存于服务器端,,默认情况下SESSION 文件保存的目录由session.save_path 指定,文件名以sess_ 为前缀,后跟SESSION ID,如:sess_c72665af28a8b14c0fe11afe3b59b51b。可以根据客户端提供的session id来得到用户的文件,取得变量的值,session id可以使用...原创 2012-10-27 09:27:01 · 92 阅读 · 0 评论 -
使用 PHPUnit 和 Selenium 进行测试
适用于 PHP 的 NetBeans IDE 支持 PHPUnit 自动测试。通过 PHPUnit,NetBeans IDE 可为 PHP 提供代码覆盖率,这与 IDE 为 Python 提供的代码覆盖率类似。测试输出将显示在功能丰富的输出窗口中,该窗口与 IDE 的 JUnit 和 Python 测试运行器所使用的输出窗口相同。NetBeans IDE 还支持将 Selenium 可移...原创 2012-10-28 16:39:42 · 233 阅读 · 0 评论 -
PHP SPL笔记
这几天,我在学习PHP语言中的SPL。这个东西应该属于PHP中的高级内容,看上去很复杂,但是非常有用,所以我做了长篇笔记。不然记不住,以后要用的时候,还是要从头学起。由于这是供自己参考的笔记,不是教程,所以写得比较简单,没有多解释。但是我想,如果你是一个熟练的PHP5程序员,应该足以看懂下面的材料,而且会发现它很有用。现在除此之外,网上根本没有任何深入的SPL中文介绍。...原创 2012-10-28 17:16:59 · 93 阅读 · 0 评论 -
php 页面执行时间计算代码
<? $pagestartime=microtime(); ?> <!--网页内容 start--> 网页内容 ... ... <!--网页内容 end--> <? $pageendtime = microtime(); $starttime = explode(" ",$pagestartime); $endtime = explode(" ",$pag...原创 2012-10-28 17:52:44 · 149 阅读 · 0 评论 -
使用PHP的SPL,跟效率和工资相关
SPL,PHP 标准库(Standard PHP Library),此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。似乎众多的 PHP 开发人员基本没有使用它,甚至闻所未闻。究其原因,可以追述到它那阳春白雪般的说明文档,使你忽略了“它的存在”。SPL 这块宝石犹如铁达尼的“海洋之心”般,...原创 2012-10-29 13:18:43 · 152 阅读 · 0 评论 -
今日、昨日、上周、本月 起始时间戳和结束时间戳
//今日开始时间 $beginToday = mktime(0, 0, 0, date("m"), date("d"), date("Y")); $endToday = mktime(0, 0, 0, date("m"), date("d") + 1, date("Y")) - 1; //昨日起始时间戳 $beginY原创 2012-10-29 17:30:52 · 96 阅读 · 0 评论 -
cookie完全跨域
cookie是用来在某一个域下使用的,比如在.baidu.com这个域下种一个cookie,那么.google.com这个域就不能使用它; 这是浏览器出于对用户隐私保护的考虑。要实现跨域的一个思路就是:客户端浏览器对某些html标签(比如script、iframe)的src没有进行跨 域限制,用它们以GET方式夹带本域种的cookie值动态请求外域的程序,这个外域的程序来种植该域的值为GE...原创 2012-10-30 23:08:15 · 105 阅读 · 0 评论 -
php 人性化显示时间
//时间转换函数(把时间显示人性化) function tranTime($time) { $rtime = date("m-d H:i",$time); $htime = date("H:i",$time); $time = time() - $time; if ($time < 60) { ...原创 2012-10-31 15:34:52 · 111 阅读 · 0 评论 -
smarty 保留变量:循环索引,请求,常量
smarty的保留变量:保留变量可以被用于访问一些特殊的模板变量.smarty打印保留变量:在模板中如果要将smarty的一些保留字作为语言的内容显示出来,如显示分隔符,(默认为{})可用以下几种方法:方法一:{ldelim},{rdelim}方法二:{$smarty.ldelim},{$smarty.rdelim}方法三:把{}放在{literal} .. {/literal} 中间输出。保留变...原创 2012-10-31 16:07:49 · 134 阅读 · 0 评论 -
CakePHP你必须知道的21条技巧
CakePHP框架是PHP最为经典的几个MVC敏捷开发框架之一,上手简单,使用方便使得该框架成为很多初学者入门PHP框架的首选。本文并非CakePHP的新手教程,而是对稍微有些经验的CakePHP程序员。大多数的细节都在CakePHP的官方文档中有所提到,这里只是精简一下,作为一个小技巧的总结。快速创建静态页面我想建立几个页面,它们仅包含静态数据,使用默认layout,不需要任何m...原创 2012-11-01 23:18:11 · 154 阅读 · 0 评论 -
PHP开发经验总结;利用配置文件更文件维护
先总结一下最近的一个技巧: 将JAVA中的一种配置文件方式引入PHP,想着可维护性,所以在模板中输出的值跟数据库里面对应的是不同的时候,采用配置文件的方式,比如数据库里面存的1、2、3,而要显示的是小学、中学、高中,这种时候采用配置文件,增强可维护性,少写冗余代码! 1.使用内嵌的HTML代码,而不是PHP的echo语句。因为PHP是一门嵌入式Web编程语言,可以将HTML代码...原创 2012-11-02 21:45:00 · 105 阅读 · 0 评论 -
文件后缀-类型 对应表
备注其它类型的ContentType".*"="application/octet-stream"".001"="application/x-001"".301"="application/x-301"".323"="text/h323"".906"="application/x-906"".907&原创 2012-11-03 23:50:12 · 278 阅读 · 0 评论 -
Session跨域问题
Session主要分两部分: 一个是Session数据,该数据默认情况下是存放在服务器的tmp文件下的,是以文件形式存在,而非存储在服务器的内存中; 另一个是标志着Session数据的Session Id,Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保 Session 的安全。一般如果没有设置 Ses...原创 2012-11-03 23:50:56 · 115 阅读 · 0 评论 -
程序员每天要做的事情
1)程序员每天总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多。2)考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作。3)考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重...原创 2012-11-03 23:56:44 · 92 阅读 · 0 评论 -
CakePHP 官方博客示例教程
初识CakePHP,感觉不错;按照官方的博客示例教程练习了一下,有点自信继续学下去了。下面是示例:地址:http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html Blog Tutorial - Adding a layerCreate a Post ModelThe Mode...原创 2012-11-05 15:57:49 · 258 阅读 · 0 评论 -
PHP获取客户端IP的函数
/** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @return mixed */function get_client_ip($type = 0) { $type = $type ? 1 : 0; static $ip = NULL; if ...原创 2012-11-06 17:27:56 · 166 阅读 · 0 评论 -
根据IP定位用户所在城市信息
当我们在页面中填写个人资料中的省市信息时,页面会根据当前用户所在的城市自动选中省市下拉选项;当我们访问某个大型站点时,网站程序会自动进入到用户当前所在的城市频道。这些功能是如何实现的呢?今天我们来通过实例讲解如何根据IP定位用户所在城市信息。根据当前用户本地IP地址,查询IP地址库,获取IP所在的省市信息,目前有多种方式实现该功能。1.调用新浪IP地址库新浪提供了开放的IP地...原创 2012-11-07 10:30:27 · 475 阅读 · 0 评论 -
PHP需要掌握的东西
很多学PHP的人一直也搞不清楚,一个PHP程序员和JAVA程序员或者是.NET程序员有什么不同,告诉你,其实都一样!没有什么不同,下面的内容,就是针对一个JAVA程序员掌握的技能对比PHP来说的!告诉你,它们其实是一样的,不过是工具而已,没有高低贵贱之分。只不过你不熟练,不知道而已!1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信...原创 2012-11-08 10:17:07 · 99 阅读 · 0 评论 -
netbeans for php 有用的快捷键 说明
netbeans是我开发php项目的主要工具,在项目管理中有非常好的体验。经过一个月的公司实战经历,我对netbeans的功能的使用更加熟练,涵盖了大部分的IDE常用操作。要提高你的工作效率,第一步就是要熟悉你的工具,第二步是熟悉后根据自己的需求定制功能。(那是后话了)这篇介绍了非常有用的快捷键和它的适用场景1.文本编辑复制当前行到上一行/下一行 ctl+shf+u...原创 2012-11-08 10:33:46 · 174 阅读 · 0 评论 -
CakePHP2.3.0-beta学习第一天
由于CakePHP现在没有很好的中文手册,所以在学习时做下笔记。刚开始不要全部理由,照着做一遍,大致能看到点效果,后面再逐步学习。我使用的环境是AppServ,安装在C:/AppServ/,根目录为C:/AppServ/www/,cakephp放在C:/AppServ/www/cakephp/提前注意事项: 加载rewrite模块确保apache的模块加载:LoadM...2012-11-09 00:32:52 · 137 阅读 · 0 评论 -
PHP分页过程化及分页类实现
过程化分页 <?php header("Content-Type:text/html;charset=utf-8"); mysql_connect('localhost','root','root'); mysql_select_db('test'); $sql="select * from test where 1"; $result=mysql_quer...2012-11-09 01:34:56 · 83 阅读 · 0 评论 -
PHP上传类实现上传
<?php//$array=array('path'=>'d:/','allowsize'=>4000000);//$t=new upload($array);class upload{ //路径 private $path='./'; //文件准许的MIME类型 private $allowmime=array('image...2012-11-09 01:38:50 · 88 阅读 · 0 评论 -
PHP验证码类实现
<?phpclass verify{ //宽 protected $width; //高 protected $height; //图片资源 protected $img; //图片类型 protected $imgType; //文字类型 protected $type; //文字 protected $checkCo...2012-11-09 01:40:07 · 78 阅读 · 0 评论 -
PHP图片水印缩放类实现
<?phpclass Image{ private $path; function __construct($path='./'){ $this->path=rtrim($path,'/').'/'; } //水印函数,参数:背景图,水印图,位置,前缀,TMD透明度 public function water($b,$l,$pos...2012-11-09 01:40:49 · 91 阅读 · 0 评论 -
CakePHP 2.x十分钟博客教程(一):安装与配置
Cakephp 2.0依然保持着Cakephp框架的各种优良传统,其中之一就是非常易于新手入门,几乎不做任何复杂的配置即可使用。非常可惜的是,Cakephp 2.0手册竟然没有了中文翻译,1.3的翻译又是有各种老,让想学习Cakephp同时英语又不是很好的同学们非常郁闷啦。这里我给大家带来 Cakephp的经典教程,十分钟博客创建,是的,十分钟,通过CakePHP 2.0框架创建一个轻型博...原创 2012-11-10 08:49:50 · 166 阅读 · 0 评论 -
CakePHP 2.x十分钟博客教程(二):控制器、模型与视图
在上篇CakePHP教程中,为大家介绍了CakePHP的安装与配置过程。你的CakePHP框架现在应该已经能够建立应用程序了,本文为大家带来CakePHP如何创建控制器、模型及视图文件,并将其关联起来,最终构建一个数据库驱动的博客程序。CakePHP系列教程—CakePHP博客三部曲:CakePHP2十分钟博客教程(一):安装与配置CakePHP2十分钟博客教程(二):控制器...原创 2012-11-10 08:50:57 · 224 阅读 · 0 评论 -
CakePHP 2.x十分钟博客教程(三):数据库基础操作、表单、路由器
通过前面两篇文章的学习,你的CakePHP博客已经初具雏形了。本文会构建博客的文章内容页面,添加新的文章,修改老文章以及删除文章的功能,并且涉及到CakePHP表单创建,数据验证,路由规则等主题。如果还没有仔细了解本教程的前两张,可以访问《Cakephp 2.0十分钟博客教程(一):安装与配置》从头开始学习。CakePHP系列教程—CakePHP博客三部曲:CakePHP2十分钟...原创 2012-11-10 08:52:38 · 198 阅读 · 0 评论 -
CakePHP2命名规范
CakePHP的命名规范相当重要,遵循CakePHP框架的命名规范,可以获得框架内置的各种功能。CakePHP2发布之后,命名规范这块与老的框架没有任何区别,本文同时适用于CakePHP 2.x和CakePHP 1.x框架。总得来说,文件名使用下划线,类名用驼峰命名法。比如,MyNiftyClass类对应的文件名就是my_nifty_class.php。下面是不同类型的类和其相对应的文...原创 2012-11-10 09:02:29 · 166 阅读 · 0 评论 -
使用curl发起https请求
使用curl如果想发起的https请求正常的话有2种做法:方法一、设定为不验证证书和host。在执行curl_exec()之前。设置option$ch = curl_init();……curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE)...原创 2012-11-10 12:12:02 · 709 阅读 · 0 评论 -
PHP性能优化工具:Benchmark使用详解
Benchmark工具类包说明直接下载:http://pear.php.net/package/Benchmark/downloadBenchmark工具类包共有三个文件,分别是Timer.php、Iterate.php和Profiler.php,三个工具类功能相同,只是侧重点不同,都是用于调试代码获取程序的执行时间。1,Benchmark_Timer类原理与通过microtime...原创 2012-11-12 17:43:16 · 685 阅读 · 0 评论