首页 > php开发

php设计模式 flyweight (享元模式)

25种php设计模式,你全都知道吗?下面用代码介绍享元模式(flyweight模式)<?php /**  * 享元模式  *  * 运用享元技术有效的支持大量细粒度的对象  */ class CD {     private $_title = null;     private $_artist = null;    ...
阅读全文

php设计模式 composite (组合模式)

25种php设计模式,你全都知道吗?下面用代码介绍组合模式(composite模式)<?php /**  * 组合模式  *  * 将对象组合成树形结构以表示"部分-整体"的层次结构,使得客户对单个对象和复合对象的使用具有一致性  */ abstract class MenuComponent {     public function add($component) {  &n...
阅读全文

php设计模式 command (命令模式)

25种php设计模式,你全都知道吗?下面用代码介绍命令模式(command模式)<?php /**  * 命令模式  *  * 将一个请求封装为一个对象从而使你可用不同的请求对客户进行参数化,对请求排除或记录请求日志,以及支持可取消的操作  */ interface Command {     public function execute(); } class Invoker {   ...
阅读全文

PHP操作文件问答

PHP操作文件问答
前言:
PHP中对各类数据库的操作有着支持,对文件的操作也同样有着很丰富的操作方法,很多朋友现在的操作还是基于文件操作可是有的时候在操作文件的时候还存在不少的困惑和疑点,以下是我在日常编写过程中碰到的以及坛上朋友所碰到的关于文件操作的一些问题收藏吧。
问:如何新建一个文件?
答:
1、使用fopen("要建立的文件名","参数"),参数可选w,w+,a,a+
2、使用exec("echo '' > 要建立的文件名");这样是使用系统方式建立这个文件,你还可以使用touch这个linux命令来建立
问:为什么我无法建立文件?
答:
1、如果你使用了fopen建立文件,是否正确的使用了参数
2、系统权限问题,请询问你的WEBMASTER你的FTP目录是否有写的权限
3、FTP权限问题,你要确认你的PHP文件所要写文件所在目录要有写的权限,也就是你的FTP软件登陆后other组要有写这个权限,
如果没有请修改权限后尝试
问:如何将文件读入数组?
答:使用file函数
问:如何将文件全部读出?
答:
1、使用fread($fp);
2、如果你的PHP版本>=4.3.0的话可以使用file_get_contents();
问:如何判断文件是否存在?
答:使用file_exists();
再问:为什么不使用fopen()来判断呢?
答:原因是有时候是因为权限问题导致fopen返回的数据引导我们错误的判断
问:为什么当我读取一个WEB页面的时候出错?
答:
1、可能是你的传递参数错,当读取WEB页面的时候你只可以使用r方式读取页面
2、确保你要读取的WEB页面可以访问
问:我如何才能获得文件的相关属性?
答:PHP提供了一组获得文件属性的方法,例如 filemtime(),fileowner(),filegroup(),filectime(),fileatime()...详细的使用请参阅手册。
问:PHP打开文件后是否可以象C一样进行文件“游标”的定位呢?
答:可以的,使用fseek();
问:我想在访问文件的时候不允许其他人也访问此文件,怎么办?
答:
1、你可以采用其他方面程序限制用户接入文件操作的页面
2、使用flock();详细的参数以及使用方法请参阅手册
问:如何删除文件内第一行,或指定一行数据?
答:
PHP并没有提供这样的操作方法,不过我们可以通过组合使用,以下代码演示我们将删除文件"test.dat"中的第三行数据(test.dat 文件中数据不止三行)

阅读全文

关于输出缓冲的讨论(Output buffering)之一

#########################################
##标题    关于输出缓冲的讨论
##整理    Diego Lynn @ 林全国
##原作    By Zeev Suraski
#########################################
关于输出缓冲的讨论(Output buffering)
目录
HTTP Header
为什么要使用Output Buffering技术
Output Buffering的工作原理
基本用法
高级用法
使事情更为简单
哈哈,我成功了
我个人认为,Output buffering是比较纯粹的PHP 4.0特征。尽管从概念上看来相当简单,但是output buffering功能非常强大,能使开发者更容易地开发高级而有效的程序。
本文将介绍HTTP header,以及output buffering如何帮助您处理HTTP header,并介绍了output buffering的一些高级用法。
HTTP Header[HTTP 标题]
对于使用HTTP 协议建立的每个请求,Web服务器产生的响应通常包括两个部分

阅读全文