PHP文件系统相关函数的功能详解

开发 后端
PHP文件系统相关函数可以帮助我们实现目录内容的显示,移动文件等,很多人都开始用这些函数开发基于互联网的文件资源管理器。

我们通过对PHP的学习,知道其中很多函数都有很重要的作用,其中就有与文件系统有关的函数。我们今天就为大家介绍PHP文件系统相关函数的具体功能体现,以了解PHP与文件系统之间的联系。这些函数不仅可以打开文件,还可以显示目录中的内容、移动文件和其他一些功能,许多人甚至用PHP开发基于互联网的文件资源管理器。

#t#关于文件路径的解释:在Windows中,可以在路径中使用/和符号,而在其他的操作系统中只能使用/符号。出于一致性的缘故,我们统一使用/符号。

下面的PHP文件系统相关函数脚本样例可以显示一个目录清单,注释已经包含在代码中:

<? /*把要读取的目录的全路径名存入一个名字为$dir_name的变量中。 */   
 
  $dir_name = "/home/me/";   
 
  /* 创建一个句柄,其值是打开一个给定目录的结果*/   
 
  $dir = opendir($dir_name);   
 
  /* 建立一个文字块,用以放置列表元素(文件名字)*/   
 
  $file_list = "<ul>";   
 
  /* 使用一个while语句,读取已经打开的目录中的所有元素,如果文件的名字不是“.”或“..”,则显示列表中的名字*/   
 
  while ($file_name = readdir($dir)) {   
 
  if (($file_name != ".") && ($file_name != "..")) {   
 
  $file_list ."<li>$file_name";   
 
  }   
 
  }   
 
  $file_list ."</ul>";   
 
  /*关闭打开的目录,结束PHP模块*/   
 
  closedir($dir);   
 
  ?>   
 
  <!-- Start your HTML -->   
 
  <HTML>   
 
  <HEAD>   
 
  <TITLE>Directory Listing</TITLE>   
 
  </HEAD>   
 
  <BODY>   
 
  <!-- Use PHP to print the name of the directory you read -->   
 
  <P>Files in: <? echo "$dir_name"; ?></p>   
 
  <!-- Use PHP to print the directory listing -->   
 
  <? echo "$file_list"; ?>   
 
  </BODY>   
 
  </HTML>  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.

好了,我们已经得到了一个目录清单。需要注意的是,要读取一个文件(稍后我们将进行讲解)或目录的内容,PHP运行的系统上的用户必须至少有读取文件的权限。

下面是一个如何拷贝文件的PHP文件系统相关函数例子:

<? /*把你要拷贝的原文件的全路径赋给一个名字为$original的变量中,把拷贝的文件的全路径赋予一个名字为$copied的变量中*/   
 
  $original = "/home/me/mydatabasedump";   
 
  $copied = "/archive/mydatabasedumo_1010";   
 
  /* 使用copy()函数拷贝原始文件,如果拷贝没有完成则会显示一个错误信息*/   
 
  @copy($original, $copied) or die("Couldn't copy file.");   
 
  ?>  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

这个PHP文件系统相关函数的例子是一个文件备份系统的原型。在这段脚本运行时,它把文件拷贝到一个不同的位置进行保存。稍微修改一下守护程序,就可以在一天中你指定的时刻执行它,而无需用户的干预。

假定你在系统上安装了Lynx,可以创建一个守护程序的条目访问这个文件,访问这个文件会运行这个脚本并建立一个拷贝文件,下面的例子将在上午5点钟运行这个脚本,然后关闭Lynx:

0 5 * * * [username] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1

如果运行的是CGI版本的PHP,可以跳过Lynx部分,而直接调用二进制文件:

0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2>&1

责任编辑:曹凯 来源: 电脑之家
相关推荐

2009-11-25 14:06:53

PHP函数arsort

2009-11-26 13:50:11

PHP函数str_re

2009-12-04 09:50:59

PHP ob_star

2009-11-24 13:26:17

2010-01-26 15:08:11

Android根文件系

2010-08-05 11:03:55

创建分区文件系统

2010-07-27 10:15:38

NFS网络文件系统

2019-05-29 16:33:32

Linux虚拟系统

2019-05-22 09:00:16

Linux虚拟文件系统

2023-08-05 12:58:51

RPC协议服务端

2009-12-10 10:18:05

PHP读取文件

2009-12-10 14:27:07

Linux操作系统

2018-02-24 11:11:02

Linux命令 文件系统

2010-06-04 18:45:43

Hadoop分布式文件

2010-07-16 16:23:23

Perl文件系统

2009-11-24 11:00:05

PHP函数Date()

2009-11-30 14:27:42

2009-09-22 11:59:19

2019-09-18 10:22:13

操作系统LinuxCentOSMac

2020-07-22 14:53:06

Linux系统虚拟文件
点赞
收藏

51CTO技术栈公众号