PHP文件系统相关函数的功能详解
创始人
2024-06-12 19:40:42
0次

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

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

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

  1.  /*把要读取的目录的全路径名存入一个名字为$dir_name的变量中。 */   
  2.  
  3.   $dir_name = "/home/me/";   
  4.  
  5.   /* 创建一个句柄,其值是打开一个给定目录的结果*/   
  6.  
  7.   $dir = opendir($dir_name);   
  8.  
  9.   /* 建立一个文字块,用以放置列表元素(文件名字)*/   
  10.  
  11.   $file_list = "
      ";   
    •  
    •   /* 使用一个while语句,读取已经打开的目录中的所有元素,如果文件的名字不是“.”或“..”,则显示列表中的名字*/   
    •  
    •   while ($file_name = readdir($dir)) {   
    •  
    •   if (($file_name != ".") && ($file_name != "..")) {   
    •  
    •   $file_list .= "
    • $file_name";   
    •  
    •   }   
    •  
    •   }   
    •  
    •   $file_list .= "
    ";   
  12.  
  13.   /*关闭打开的目录,结束PHP模块*/   
  14.  
  15.   closedir($dir);   
  16.  
  17.   ?>   
  18.  
  19.      
  20.  
  21.      
  22.  
  23.      
  24.  
  25.   </FONT></STRONG>Directory Listing<STRONG><FONT color=#006699>   
  26.  
  27.      
  28.  
  29.      
  30.  
  31.      
  32.  
  33.   

    Files in:  echo "$dir_name"; ?>

       
  34.  
  35.      
  36.  
  37.    echo "$file_list"; ?>   
  38.  
  39.      
  40.  
  41.     

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

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

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

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...