随笔分类 - PHP
摘要:Zend Studio调试PHP主要使用Xdebug和Zend Debugger,之前我介绍了Zend Studio调试工具Xdebug安装教程,今天来说说Zend Debugger的安装与配置方法,目前在PHP5.3 Thread-Safe环境下并不支持Zend Debugger的安装与配置,PHP5.3 Non-Thread-Safe的运行环境是支持的。 如果想要在PHP5.3环境下安装配置Zend Debugger有两种方式,一种是将PHP环境配置为PHP5.3Non-Thread-Safe,另一种是安装Zend Server。为了方便,我干脆将PHP运行环境切换为IIS7下的PHP..
阅读全文
摘要:原文地址:http://bbs.phpchina.com/forum.php?mod=viewthread&tid=50716 对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用。 由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。 对于 Cookie 来说,假设我们要验证用户是否登陆.
阅读全文
摘要:刚开始在没有查PHP手册的情况下,用比较老套方法也折腾出来了,代码是这样子实现的: $date_1 = date('Y-m-d'); $date_2= '2012-07-16'; $date1_arr = explode("-",$date_1); $date2_arr = explode("-",$date_2); $day1 = mktime(0,0,0,$date1_arr[1],$date1_arr[2],$date1_arr[0]); $day2 = mktime(0,0,0,$date2_arr[1],$dat
阅读全文
摘要:先了解下Json(资料来自www.json.org):JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language(http://www.crockfor...
阅读全文
摘要:由于项目的需要,要写一个能生成“授权码”的类(授权码主要包含项目使用的到期时间),生成的授权码将会写入到一个文件当中,每当项目运行的时候,会自动读取出文件中的密文,然后使用唯一的“密钥”来调用某个函数,对密文进行解密,从中解读出项目的使用到期时间。 之前,自己有先试着写了下,主要是base64+md5+反转字符串。算法太过简单,很容易被破解,而且也没有能过做到“密钥”在加解密中的重要性,故而舍之。 后来,查找了相关资料,发现,原来PHP中内置了一个功能强大的函数库,即Mcrypt。 其实,mcrypt本身就提供了强大的加密解密方法,并且支持很多流行的公开的加密算法,如DES, Tri...
阅读全文
摘要:session.gc_maxlifetimesession.gc_probabilitysession.gc_divisorsession.gc_divisor 与 session.gc_probability 合起来定义了在每个会话初始化时启动 gc(garbage collection 垃圾回收)进程的概率。此概率用 gc_probability/gc_divisor 计算得来。例如 1/100 意味着在每个请求中有 1% 的概率启动 gc 进程。session.gc_divisor 默认为 100。比如:session.gc_maxlifetime=30,session.gc_divis
阅读全文
摘要:很多网站都是利用session来讲用户的信息保存到服务器上的某个文件夹中(通常是C:\window\temp)。一个会话对应一个session文件,如同一个用户使用chrom和FF打开同一个页面的时候,会在服务器上生成两个不同文件名的session文件,但是文件里面的内容是一样的。 当用户打开浏览器,访问某个网站时操作session,服务器就会在服务器端的磁盘上为该浏览器分配一个保存session信息的文件,该文件被这个浏览器独自访问。 比如:服务器上有两个文件,a.php和b.phpa.php的code:<?php session_start();//能够创建一个空的sessi...
阅读全文
摘要:1.SESSION信息保存在哪? <?php session_start(); $_SESSION['name']='marcofly';?>session默认是保存到c:\windows\temp目录下,但是通过修改php.ini中的session.save_path值可以改变session的保存路径。如:session.save_path = "d:/wamp/tmp"执行该代码后,就会在d:/wamp/tmp目录下,新增一个文件名为:sess_***的文件,打开之后,内容如下:name|s:8:...
阅读全文
摘要:转载自:https://joyqi.com/information-tech/use-comma-in-mysql-columns.html大多数开发者应该都遇到过在mysql字段中存储逗号分割字符串的经历,无论这些被分割的字段代表的是id还是tag,这个字段都应该具有如下几个共性。被分割的字段一定是有限而且数量较少的,我们不可能在一个字符串中存储无限多个字符这个字段所属的表与这个字段关联的表,一定是一对多的关系比如下面这个表结构所代表的content与tag这两个对象mysql> SELECT * FROM content;+----+------+| id | tags |+----
阅读全文
摘要:++如何设 置请求等待时间在httpd.conf里面设置: TimeOut n 其中n为整数,单位是秒。++如何接收一个get请求的总时间接收一个post和put请求的TCP包之间的时间 TCP包传输中的响应(ack)时间间隔++如何使得apache监听在特定的端口 修改httpd.conf里面关于Listen的选项,例如: Listen 8000 是使apache监听在8000端口 而如果要同时指定监听端口和监听地址,可以使用: Listen 192.170.2.1:80 Listen 192.170.2.5:8000 这样就使得apache同时监听在192.170.2....
阅读全文
摘要:对像在PHP 里面和整型、浮点型一样,也是一种数据类,都是存储不同类型数据用的,在运行的时候都要加载到内存中去用,那么对象在内存里面是怎么体现的呢?内存从逻辑上说大体上是分为4 段,栈空间段、堆空间段、代码段、初始化静态段,程序里面不同的声明放在不同的内存段里面。 数据段(data segment)通常是指用来存放程序中已初始化且不为0的全局变量如:静态变量和常量 代码段(code segment / text segment)通常是指用来存放程序执行代码的一块内存区域,比如函数和方法 栈空间段是存储占用相同空间长度并且占用空间小的数据类型的地方,比如说整型1,1...
阅读全文
摘要:更深入的学习和了解可以查看下面:风雨的博客http://www.laruence.com/2008/08/12/180.html百度研发中心的博客http://stblog.baidu-tech.com/?p=763王兴宾的博客http://blog.csdn.net/wanghao72214/article/details/3916825简介 先看看下面这个过程:我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的;PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);PHP总共有三个模块:内核、Zend引擎、以及扩展层;.
阅读全文
摘要:作者:Laruence本文地址:http://www.laruence.com/2009/08/23/1065.html转载请注明出处经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢?比如<?php$arr['laruence'] = 'huixinchen';$arr['yahoo'] = 2007;$arr['baidu'] = 2008;foreach ($arr as $key => $val) {//结果是什么?}又比如:<?php$arr[2]
阅读全文
摘要:客户端从服务端下载文件的流程分析:浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下。服务器接受到该请求以后,马上运行该down.php文件运行该文件的时候,必然要把将要被下载的文件读入内存当中(这里是圣诞狂欢.jpg这张图片),这里通过fopen()函数完成该...
阅读全文
摘要:总结: 使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文:PHP如何实现下载功能超详细流程分析计算文件的大小的时候,并不需要先打开文件,通过filesize($filename)就可...
阅读全文
摘要:今天查看Struts2的文件上传部分 发现有个例子开头打印的信息中有Content-Disposition,一时好奇,所以了解了一下。顺便学习一下文件上传所需要的注意事项。 Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。当 Internet Explorer 接收到头时,它会激活文件下载对话框,它的文件名框自动填充了头中指定的文件名。(请注意,这是设计导致的;无法使用此功能将文档保存到用户的计算机上,而不向用户询问保存位置。)服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如t
阅读全文
摘要:对于PHP程序员来说,最为难掌握的一点要数PHP抽象类应用这一块知识点。作为一个新手其实也还没有到要用面向对象的知识去编程,但以后进行开发,使用类进行封装或者使用接口之类,把程序进行各种模块式的开发,这当然是必然的。在自然语言中,我们理解抽象的概念是,一个物体的一种大的描述,这种描述对某类物体来说是共有的特性。那么在PHP中也是一样的,我们把一个类进行抽象,可以指明类的一般行为,这个类应该是一个模板,它指示它的子方法必须要实现的一些行为。PHP抽象类应用的定义:abstract class ClassName{}PHP抽象类应用要点: 1.定义一些方法,子类必须完全实现这个抽象中所有的方法 .
阅读全文
摘要:<?php try { $a=10/0; }catch (Exception $e){ echo "抛出异常"; }?>以上代码,并不会输出“抛出异常”,而是输出了错误信息:Warning: Division by zero in......说明:try块中并没有抛出异常,而是按照系统默认的错误处理机制进行处理所以能不能捕获到异常,取决于有没有真正的抛出异常
阅读全文
摘要:php对异常的处理与java一样,用到的是try{}catch(){}定义顶级异常处理器用到的函数是set_exception_handler("My_exception");这里的My_expection是开发者自定义的异常处理函数,既顶级异常处理器,只有当程序中没有函数来处理异常才有顶级异常处理器来处理异常,如果没有定义顶级异常处理器,则由系统默认的异常处理器来处理异常举例说明:<meta http-equiv="content-type" content="text/html;charset=utf-8" /><
阅读全文
摘要:1、首先php5提供了基本的异常处理类,可直接使用<?phpclass Exception{ protected $message = 'Unknown exception'; // 异常信息 protected $code = 0; // 用户自定义异常代码 protected $file; // 发生异常的文件名 protected $line; // 发生异常的代码行号 function __const...
阅读全文