Heim  >  Artikel  >  Backend-Entwicklung  >  php中常用文件操作函数介绍_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 17:15:21992Durchsuche

小编今天来给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文件操作的常用函数使用方法总结,包括:文件读写,创建,查看文件属性,文件删除等等关于文件的操作。...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn