Fork me on GitHub

php的文件系统和程序执行函数整理

今天,总结一下php中文件系统函数,这里主要的目的是让大家和我了解有哪些函数是常用的,是需要大家记住的,即便用法可以不用强记,但是必须知道有这些函数的存在。

好了,我们开始吧:

一、文件相关函数

file($filename,[$flag])  # 按行将文件读入数组,flag参数指定不同模式,具体可见手册
filectime($filename)     # 文件的创建时间
fileatime($filename)     # 文件最近一次的访问时间
filemtime($filename)     # 文件最近一次修改时间
fileperms($filename)     # 文件的权限码
file_exists($filename)   # 验证文件是否存在
fileowner($filename)     # 文件拥有者
filegroup($filename)     # 文件所在组
filesize($filename)      # 文件大小
filetype($filename)      # 文件类型,可能返回值包括fifo,char,dir,block,link,file和unkown,分别指代linux中的文件类型
is_file($filename)       # 验证是否为文件类型
is_readable($filename)   # 文件是否可读
is_writable($filename)   # 文件是否可写
is_executable($filename) # 文件是否可执行
is_link($filename)       # 文件是否为链接类型
touch($filename)         # 创建文件
copy($source, $dest)     # 复制文件
rename($oldname, $newname) # 重命名和移动文件
unlink($filename)        # 删除文件
chgrp($filename, $group) # 修改文件所属组
chmod($filename, $mode)  # 修改文件权限
chown($filename, $user)  # 修改文件所有者
clearststcache() # 文件状态函数运行耗费时间较长,因此它们的结果会被缓存起来,如果在修改前后检查文件信息,需要使用此函数,用于清除状态的缓存信息

 

二、目录相关函数:

chdir($path)             # 切换目录
opendir($path)           # 打开目录操作句柄
readdir($path)           # 按照操作句柄读取目录 
scandir($dirhandler)     # 可将目录下文件按照字母排序存储在数组中
closedir($path)          # 关闭操作句柄
mkdir($path,$mode)       # 创建目录,可递归创建
rmdir($path)             # 删除目录,目录必须为空,否则会报错
dirname($path)           # 当前所在目录
basename($path)          # 当前文件名称
umask()                  # 设置linux中的权限系统的umask码

 

三、程序执行函数

1.exec()
函数原型:string exce (string command [, array &$result [, int &$return_value]])
说明:该函数可传入系统命令,默认返回结果的最后一行。如果设置了第二个参数,全部结果将被存储到这个变量中。

2.passthru()
函数原型:void passthru (string command [, int return_value])
说明:该函数将结果直接回显到浏览器。如果是输出二进制,例如图片。不是比较有用的。

3.system()
函数原型:string system (string command [, int return_value])
说明:此函数将结果直接回显到浏览器。与passthru的区别在于该函数会将每一行的输出向后对齐。此函数返回最后一行或者false.

4.`反引号
反引号默认为可执行语句,返回值为整个结果。

下面是上面四种程序执行函数的使用实例:

/* 使用程序执行函数 */

echo "<pre>";

/* 
exec("dir",$result); # 默认返回最后一行,完整信息可保存第二个参数中
foreach ($result as $line) {
    echo "$line\n";
}
*/

// passthru("dir"); # 直接输出到浏览器

// system("dir");   # 直接回显到浏览器

/*
$result = `dir`; # 不直接回显到浏览器,需要额外输出 
echo $result;
*/

echo "</pre>";

# 运行结果相同,如下:
驱动器 E 中的卷没有标签。
卷的序列号是 5E7B-3703
E:\wamp\www\programs 的目录 2016/11/25 13:46 . 2016/11/25 13:46 .. 2016/11/25 11:16 497 directory.php 2016/11/25 15:10 2,317 filedetail.php 2016/11/25 10:29 861 fileUpload.php 2016/11/25 13:46 images 2016/11/22 15:17 MVC 2016/11/24 14:05 72,446 test.ini 2016/11/24 14:27 4,579 test.php 2016/11/25 15:10 9,272 test.png 2016/11/25 10:15 2,197 Upload.php 7 个文件 92,169 字节 4 个目录 177,484,029,952 可用字节

 

以上就是我总结的常用文件系统函数和程序执行函数,感谢您的阅读。

 

posted @ 2016-11-25 15:13  lovecucu  阅读(189)  评论(0编辑  收藏  举报