快速业务通道

PHP应用中的八种常见文件操作方式

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-23

   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}不成功";

  //////////////////////////////////////////////////////////////////////////

  ---------------------输出结果----------------------------------------

  打开文件userinfo.txt成功

  ---------------------------------------------------------------------

  2.使用完毕文件后,要显式的告诉PHP已经使用完文件,让操作系统确保将文件的所有内容正确地从缓冲区刷新到硬盘

  使用fclose()关闭文件,

  bool fclose ( resource handle )//关闭一个已打开的文件指针

  3.读取文件,fopen函数的mode参数允许读取,PHP提供了几个函数从文件读取数据

  string fgets ( int handle [, int length] )从文件指针中读取一行,在二进制文件上尝试fgets会产生不可预测的结果

  如果不指定长度,默认读取1K数据,碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止

  string fgetss ( resource handle [, int length [, string allowable_tags]] )从文件指针中读取一行并过滤掉 HTML 标记

  fgetc()读取单个字符

  fread()读取任意二进制数据

  ////////////////////////////代码部分////////////////////////////////////////

  $handle = fopen ("test.jpg", "rb");

  $c;

  while (!feof($handle)) {

  $

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号