`
liujiesmart
  • 浏览: 28363 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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

    博客分类:
  • 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}不成功";
  //////////////////////////////////////////////////////////////////////////
  ---------------------输出结果----------------------------------------
  打开文件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)) {
  $contents .= @fread($handle, 8192);//循环读取并将其合并为一个大块文件
  }
  fclose($handle);
  //////////////////////////////////////////////////////////////////////////
  ---------------------输出结果----------------------------------------
  ---------------------------------------------------------------------
  4.判断文件读取的状态
  每个文件句柄都有一个文件指针,或者一个指出下一个操作将在文件中哪里发生的游标,根据fopen函数的mode参数
  文件指针最初位于文件的开头(0),或者文件的末尾
  feof()可以判断文件是否已经到末尾(到末尾后函数返回TRUE)
  filesize()函数返回文件的大小 5.写入文件
  fwrite()函数执行文件写入
  ////////////////////////////代码部分////////////////////////////////////////
  $filename = 'test.txt';
  $somec;
  // 首先我们要确定文件存在并且可写。
  if (is_writable($filename)) {
  // 在这个例子里,我们将使用添加模式打开$filename,
  // 因此,文件指针将会在文件的开头,
  // 那就是当我们使用fwrite()的时候,$somecontent将要写入的地方。
  if (!$handle = fopen($filename, 'a')) {
  echo "不能打开文件 $filename";
  exit;
  }
  // 将$somecontent写入到我们打开的文件中。
  if (fwrite($handle, $somecontent) === FALSE) {
  echo "不能写入到文件 $filename";
  exit;
  }
  echo "成功地将 $somecontent 写入到文件$filename";
  fclose($handle);
  } else {
  }
  echo "文件 $filename 不可写";
  //////////////////////////////////////////////////////////////////////////
  ---------------------输出结果----------------------------------------
  成功地将 添加这些文字到文件 写入到文件test.txt
  ---------------------------------------------------------------------
  对于二进制数据,必须指定第三个参数,它包含写入到磁盘的数据字节数
  $result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'));
  6.文件权限和其他信息
  is_readable()//判断文件是否可读
  is_writeable()//判断文件是否可写
  is_writable()//判断文件是否可写
  fileperms()//判断文件的权限(UNIX风格的文件权限测试函数)
  file_exists()//是否存在这个文件
  fileowner()//判断文件所属用户
  filegroup()//判断文件所属组
  7.删除和重命名文件
  unlink()//删除文件
  rename()//重命名文件
  8.访问目录
  目录访问建议使用前向斜线"/",兼容windows和unix系统
  basename()//返回不包括路径信息的文件名
  dirname()//返回文件名的目录部分
  realpath()//接受相对路径,返回文件的绝对路径
  pathinfo()//提取给定路径的目录名,基本文件名和扩展名
  opendir()//打开目录,返回资源句柄
  readdir()//读取目录项
  rewinddir()//将读取指针返回开头
  closedir()//关闭读取句柄
  chdir()//改变当前脚本执行期间的当前工作目录
  mkdir()//创建目录
  rmdir()删除目录
  ////////////////////////////代码部分////////////////////////////////////////
  //////////////////////////////////////////////////////////////////////////
  ---------------------输出结果----------------------------------------
  filename: web : filetype: dir
  filename: study : filetype: di
分享到:
评论

相关推荐

    emoji转换文件,良心文件啊,php版本

    在IT行业中,尤其是在Web开发领域,emoji已经成为一种常见的表达方式,尤其在社交网络和聊天应用中。本压缩包文件提供了一个专门针对emoji处理的PHP类库,名为"php-emoji-master",它可以帮助开发者有效地管理和转换...

    一个php文件目录操作类

    这个PHP文件目录操作类为开发者提供了一种高效且灵活的方式来管理项目中的文件和目录结构,极大地提高了开发效率和代码的可维护性。在实际开发中,这样的工具是必不可少的,特别是在处理大量文件操作的场景下。

    PHP后台循环锁定文件.zip_PHP后台循环_php文件锁定_shell_锁定

    在IT行业中,尤其是在服务器端开发领域,文件锁定是一种常见的机制,用于确保多个进程或用户同时访问同一文件时的正确性和一致性。本主题聚焦于“PHP后台循环锁定文件”,这是一个涉及PHP、后台循环以及shell锁定...

    单文件管理器Files 是一个单文件 PHP 应用程序

    它能够识别并预览常见的图像、视频、音频文件,使用户无需额外工具就能在浏览器中查看这些内容。对于文本文件,Files提供了内置的文本编辑器,可以直接在线编辑,这对于开发者来说非常实用。此外,代码文件也能得到...

    PHP文件处理的高级应用/PHP文件处理的高级应用

    其次,文件上传是Web应用中的常见功能。PHP提供了`$_FILES`全局数组来处理上传文件的信息。`move_uploaded_file()`函数用于将上传的文件移动到服务器上的特定位置,确保文件安全存放。 接下来是文件的权限管理。...

    PHP企业级应用之常见缓存技术篇

    数据缓存通常包括将查询结果序列化后保存到文件中,或者将数据保存到内存中,例如使用Memcached。Memcached作为高性能的分布式内存对象缓存系统,它广泛应用于动态应用中以减少数据库负载,提升访问速度。通过...

    PHP读取操作Excel文件实例php源码

    总的来说,理解并掌握如何使用PHP处理Excel文件是一项实用的技能,可以帮助你在数据分析和Web应用开发中更加高效地操作数据。无论是简单的数据读取还是复杂的报表生成,PHP都有相应的工具和库来支持。记得定期更新你...

    PHP中文件读、写、删的操作(PHP中对文件和目录操作)

    在PHP中进行文件和目录操作是一...总之,文件和目录操作是Web开发中的常见任务,掌握好这些操作对于构建高效、安全的Web应用至关重要。通过实例示范和最佳实践的总结,开发者可以更加熟练地使用PHP进行文件系统的操作。

    php将word等文件转PDF或swf

    在提供的压缩包文件中,"not.txt"可能是教程的文本文件,包含了具体的步骤和代码示例。实际操作时,你需要按照这个教程的指导,安装相应的PHP库,设置好环境,然后编写PHP脚本来读取Word文件,调用转换函数,最后...

    详谈PHP文件目录基础操作

    无论是从数据库中保存数据到文件中,还是通过读取文件来动态生成网页内容,或者对文件进行备份和迁移等,都离不开这些基础的操作技能。 在实际应用中,文件目录操作的熟练使用对于提高开发效率和程序性能至关重要。...

    php 操作INI文件,读取,设置,ini文件

    在PHP中,操作INI文件是一项常见的任务,这些文件通常用于存储配置信息,因为它们的语法简单且易于人类阅读。PHP提供了内置的函数来处理INI文件的读取和写入,使得开发者可以方便地管理和更新应用的配置。 1. **...

    php的4种常见运行方式_.docx

    本文将详细介绍PHP的四种常见运行方式:CGI、FastCGI、APACHE2HANDLER和CLI。 1. CGI(Common Gateway Interface) CGI是一种标准,允许Web服务器与外部程序交互,例如PHP脚本。当一个用户请求PHP页面时,Web服务器...

    Web应用安全:PHP脚本的上传与执行.pptx

    PHP脚本的上传是Web应用中常见功能,如上传头像、文件等。然而,如果没有对上传的文件进行严格的限制和验证,攻击者可能上传包含恶意PHP代码的文件,例如PHP一句话木马,从而控制网站。因此,必须确保对用户上传的...

    php文件操作类.zip

    在PHP编程中,文件操作是不可或缺的一部分,尤其是在构建动态网站或Web应用程序时。"php文件操作类.zip"可能包含一个自定义的PHP类库,旨在简化常见的文件读写、创建、删除和其他相关操作。这个类库可以提高代码的可...

    批量修改文件名的PHP代码、附带汉字转拼音程序

    在实际应用中,可能还需要考虑一些其他因素,如错误处理(重命名失败、文件不存在等)、文件类型过滤(只修改特定类型的文件)、保留文件扩展名等。此外,为了确保代码的可维护性和可复用性,可以将批量修改文件名的...

    PHP实例开发源码-八年 php文件管理器.zip

    总之,这个八年PHP文件管理器实例展示了PHP在文件操作、权限管理、用户体验和安全防护等多个方面的应用。通过学习和研究,开发者不仅可以提升PHP技能,还能借鉴其中的设计思路,为自己的项目开发提供灵感和参考。

    基于PHP的漠岚php文件操作管理程序源码.zip

    【标题】基于PHP的漠岚php文件操作管理程序源码是一个专门为PHP开发人员设计的工具,用于方便地管理和操作服务器上的...通过研究和理解这个源码,开发者可以深入理解PHP的文件操作机制,并能将其应用到自己的项目中。

    PHP中实现office文件转换为PDF文件的编程技术.pdf

    在PHP中实现Office文件转换为PDF文件的编程技术是一项常见的需求,特别是在Web应用中,用户可能需要将上传的Word、Excel或PowerPoint文档转换为PDF格式以便于阅读、分享或打印。以下是对这一技术的详细解释。 首先...

Global site tag (gtag.js) - Google Analytics