热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php中常用文件操作函数介绍_PHP教程

php中常用文件操作函数介绍。小编今天来给php初学者介绍php文件操作的常用函数使用方法总结,包括:文件读写,创建,查看文件属性,文件删除等等关于文件的操作。
小编今天来给php初学者介绍php文件操作的常用函数使用方法总结,包括:文件读写,创建,查看文件属性,文件删除等等关于文件的操作。

在对一个文件进行访问之前,一般我们都需要判断文件是否存在,以免调用了不存在的文件导致错误。

php判断文件是否存在函数:file_exists(),结构形式如下:

file_exist($string);

参数$string为一个指向文件或目录的字符型变量,如果文件或目录存在,则返回true,否则返回false。

实例:

代码如下

/* 判断post.php是否存在 */
$file="post.php";
if(file_exists($file)){
echo "文件存在
";
}
else{
echo "文件不存在
";
}

/* 判断images目录是否存在 */
$category="images";
if(file_exists($category)){
echo "目录存在";
}
else{
echo "目录不存在";
}
?>

php提供了一些访问文件属性的函数,可以获取文件的大小、类型、修改时间等

获取文件属性函数

函数名 作用 参数及返回值
filesize($string) 获取文件大小 参数$string为一个指向文件或目录的字符型变量。函数的返回值为整型变量,返回文件的大小,返回结果会被缓存。如果出错,则返回false。函数参数不能为远程文件。
filetype($string) 获取文件类型 参数$string为一个指向文件或目录的字符型变量。函数的返回值为字符型变量,返回结果会被缓存。
filemtime($string) 获取文件修改时间 参数$string为一个指向文件或目录的字符型变量。函数的返回值为整型变量,返回文件的修改时间。
fileatime($string) 获取文件访问时间 参数$string为一个指向文件或目录的字符型变量。函数的返回值为整型变量,返回文件的访问时间。
fileperms($string) 获取文件权限 参数$string为一个指向文件或目录的字符型变量。函数的返回值为整型变量,返回文件的相应权限,返回结果会被缓存。函数参数不能为远程文件。

实例:

代码如下

$filename="php.txt";
echo filesize($filename). "
";
echo filetype($filename). "
";
echo date("Y年 m月 d日",filemtime($filename)). "
";
echo date("Y年 m月 d日",fileatime($filename)). "
";
echo fileperms($filename). "
";
?>

在读取文件之前,必须先打开一个文件,php提供fopen()函数可以打开本地文件,也可以打开远程文件。其基本结构形式如下:

resource fopen (string $filename, string $mode)
参数filename是要打开的文件名。参数mode是要打开文件的方式,如下表所示:

fopen()中的mode参数说明
mode 说明
r 只读方式打开,将文件指针指向文件头。
r+ 读写方式打开,将文件指针指向文件头。
w 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
w+ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
a 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
a+ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
x 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
x+ 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

fopen()函数返回一个值,这个值包含一个文件句柄的整数,用来向执行文件操作的函数标识该文件。这个值通常被称为指针,指针就像内存地址中的一个个房间的门好。如果php打开文件失败,那么这个值就是flase。

实例:

代码如下


fopen("php.txt","a"); /* 写入方式打开本地文件 */
fopen("http://www.bKjia.c0m/robots.txt","r"); /* 只读方式打开远程服务器文件 */
?>


首先建立一个”php.txt”的文件,内容如下:


hello

php
1、fgetc()函数读取文件中的某个字符,其结构形式如下:

string fgetc(resource $handle)

参数$handle是已经被打开的文件指针,函数返回当前文件指针所指向的字符。如果文件指针指向文件末尾,则返回false。

实例:

代码如下

$filename=fopen('php.txt','r');
$string=fgetc($filename); /* 读取文件开头第一个字符 */
echo $string;
?>

文件被打开后文件指针通常位于文件的开始位置。但是当对文件执行了一定操作后就很难判断此时php指针的位置了。

php文件指针位置查找函数ftell(),其结构形式如下:


int ftell(resource $handle)
参数$handle是要查找指针的文件,通过该函数能够判断文件指针的位置,函数返回整数值。

实例:

代码如下

$f=fopen("php.txt","r");
fgets($f,2);
echo ftell($f);
?>

php写文件函数fwrite()可以将所需的内容写入到目标文件中,结构形式如下:


int fwrite(resource $handle,string $string [,int $length])

参数$handle是要被写入的文件,采纳数$string是要写入的内容,参数$length可选,是要写入的长度。fwrite()函数返回写入的字符数,出现错误时返回false。

实例:

代码如下

$filename="php.txt";
$str1="第一次写入
";
$str2="第二次写入";
if(is_writable($filename)){ /* is_writable()函数判断文件是否可写 */
$file=fopen($filename,"w"); /* 以写入方式打开文件 */
$w1=fwrite($file,$str1); /* 将内容写入文件 */
$w2=fwrite($file,$str2);
$file=fopen($filename,"r");
if($w1) echo fgets($file); /* 读取文件内容 */
else echo "写入不成功";
}
else echo "文件不可写";
?>


php指针函数rewind()可以将文件位置指针设到文件的开头,其结构形式如下:


bool rewind (resource $handle );

函数返回一个布尔值,如果成功则返回true,失败则返回false。

实例:

代码如下

$f=fopen("php.txt","r");
echo fgets($f)."
"; /*输出第一行*/
echo fgets($f)."
"; /*输出第二行*/
rewind($f); /*指针返回文件头*/
echo fgets($f); /*输出第一行*/
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628845.htmlTechArticle小编今天来给php初学者介绍php文件操作的常用函数使用方法总结,包括:文件读写,创建,查看文件属性,文件删除等等关于文件的操作。...


推荐阅读
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 如何高效渲染JSON数据
    本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 本文探讨了使用lightopenid库实现网站登录,并在用户成功登录后,如何获取其姓名、电子邮件及出生日期等详细信息的方法。特别针对Google OpenID进行了说明。 ... [详细]
author-avatar
ngzhaicai9672364
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有