PHP 应用中的八种常见文件操作方式
PHP
独特的语法混合了 C、Java、Perl
以及 PHP
自创新的语法。PHP
安装它可以比 CGI 或
者 Perl 更快速的执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比,PHP 是
将程序嵌入到 HTML 文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许
多;PHP 还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快 。
PHP 具有非常强大的功能,所有的 CGI 的功能 PHP 都能实现,而且支持几乎所有流行的
数据库以及操作系统。
文件和目录的操作
PHP 处理本地服务器上的文件和目录是非常方便的,但有时候会出现权限和路径相
关的问题
1.打开文件
resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )
$handle = fopen(filename,mode)//打开文件,返回代表此文件的资源的句柄
文件名称可以使用相对路径或者绝对路径也可以使用网络协议模式,打开模式具有
r\r+\w\w+\a\a+\x\x+\b
在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的
问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。
为移植性考虑,强烈建议在用 fopen()
打开文件时总是使用 'b' 标记。
以下是几种打开文件的方式
$fp = @fopen('log.txt',"rb");
$fp = @fopen('../log.txt',"rb");
$fp = @fopen("http://www.runer.com.cn/default.htm","rb");//还可以使用 ftp 和 ghoper 等协
议,必须启用 php.ini 文件中的 allow_url_fopen 选项
////////////////////////////代码部分////////////////////////////////////////
$filename1 = "userinfo.txt";//目录下或 include_path 中存在这个文件
$filename2 = "test.txt";//目录下或 include_path 并不存在这个文件
$resource1 = fopen($filename1,"rb");
@$resource2 = fopen($filename2,"rb");//因为目录中不存在这个文件,并且并未使用或
include_path 寻找包含文件所在路径则此操作会报错,使用错误抑制符@可以迫使浏览器不
输出错误信息
if($resource1)
echo "打开文件{$filename1}成功";
if(!@fopen($filename2,"r"))
echo "打开文件{$filename2}不成功";