PHP常用的文件操作函数总结

目录
  • 1 :basename()
  • 2 :copy()
  • 3 :dirname()
  • 4 :disk_free_space()
  • 5 :disk_total_space()
  • 6 :file_exists()
  • 7 :file_get_contents()
  • 8 :file_put_contents()
  • 9 :filesize()
  • 10 :filetype()
  • 11 :glob()
  • 12 :is_dir()
  • 13 :is_writable()
  • 14 :mkdir()
  • 15 :move_uploaded_file()
  • 16 :parse_ini_file()
  • 17 :realpath()
  • 18 :rename()
  • 19 :tempnam()
  • 20 :tmpfile()
  • 21:unlink()
  • 22 :chmod()
  • 23:chown()
  • 24:chgrp()

常用PHP文件操作函数

注:文件操作函数的行为受到 php.ini 中设置的影响。

当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符。而在 Windows 平台上,正斜杠 (/) 和反斜杠 () 均可使用。

1 :basename()

返回路径中的文件名。分为带扩展名和不带扩展名的。

语法:basename(path,suffix)

Path:必需。规定要检查的路径。

Suffix:可选。规定文件扩展名。如果文件有名有文件扩展名,将不会显示这个扩展名。

// basename
    $path = "/testweb/home.php";
    // 输出文件名,包含扩展名
    echo basename($path) ."<br/>";  // home.php
    // 输出文件名,不包含扩展名
    echo basename($path,".php");    // home

2 :copy()

复制文件。该函数如果成功则返回 TRUE,如果失败则返回 FALSE。如果目标文件已存在,将会被覆盖。

语法:copy(file,to_file)

File:必需。规定要复制的文件。

to_file:必需。规定复制文件的目的地。

// 复制文件,返回值为bool
    echo copy("source.txt","target.txt");

3 :dirname()

返回路径中的目录部分。

语法:dirname(path)

Path:必需。规定要检查的路径。

// 返回文件路径
    echo dirname("c:/testweb/home.php")."<br>";  // c:/testweb/
    echo dirname("/testweb/home.php");          // /testweb/

4 :disk_free_space()

返回目录的可用空间。,以字节为单位。

语法:disk_free_space(directory)

Directory:必需。规定要检查的目录。(该目录有限制)

// 返回指定目录的可用空间(查询的目录是有限制的)
    echo disk_free_space("D:/wwwroot/xxx.com/");

5 :disk_total_space()

返回一个目录的磁盘总容量。返回字节数

语法:disk_total_space(directory)

Directory:必需。规定要检查的目录。

    echo disk_total_space("C:/Windows/Temp/");
    echo "<hr>";

6 :file_exists()

检查文件或目录是否存在。返回bool值

语法:file_exists(path)

Path:必需。规定要检查的路径。

// 查看test.txt是否存在,返回bool值
    echo file_exists("target.txt");         // 1
    echo "<hr>";

7 :file_get_contents()

将文件读入字符串。

语法:file_get_contents(path,include_path,context,start,max_length)

Path:必需。规定要读取的文件。

include_path:可选。如果您还想在 include_path(在 php.ini 中)中搜索文件的话,请设置该参数为 '1'。

Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 NULL,则忽略。

Start:可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 中新增的。

max_length:可选。规定读取的字节数。该参数是 PHP 5.1 中新增的。

// 读取文件
    echo file_get_contents("target.txt");
    echo "<hr>";

提示: 该函数是二进制安全的。(意思是二进制数据(如图像)和字符数据都可以使用此函数写入。)

8 :file_put_contents()

将字符串写入文件。如果成功,该函数将返回写入文件中的字符数。如果失败,则返回 False。

语法:int file_put_contents ( string filename,mixedfilename , mixed filename,mixeddata [, int flags=0[,resourceflags = 0 [, resource flags=0[,resourcecontext ]] )

File:必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。

Data:必需。规定要写入文件的数据。可以是字符串、数组或数据流。

Mode:可选。规定如何打开/写入文件。可能的值:FILE_USE_INCLUDE_PATH/FILE_APPEND/LOCK_EX

Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。

// 写入文件
    echo file_put_contents("sites.txt","Runoob");
    echo "<hr>";

9 :filesize()

函数返回指定文件的大小。

如果成功,该函数返回文件大小的字节数。如果失败,则返回 FALSE。

语法:filesize(filename)

Filename:必需。规定要检查的文件。

// 返回文件大小
    echo filesize("target.txt");
    echo "<hr>";

10 :filetype()

函数返回指定文件或目录的类型。

若成功,则返回 7 种可能的值。若失败,则返回 false。

语法:filetype(filename)

Filename:必需。规定要检查的文件。

    // 返回文件类型
    echo filetype("target.txt");
    echo "<hr>";

11 :glob()

返回一个包含匹配指定模式的文件名/目录的数组。

glob() 函数返回匹配指定模式的文件名或目录。

该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。

语法:glob(pattern,flags)

File:必需。规定检索模式。

Size:可选。规定特殊的设定。

  • GLOB_MARK - 在每个返回的项目中加一个斜线
  • GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
  • GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
  • GLOB_NOESCAPE - 反斜线不转义元字符
  • GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
  • GLOB_ONLYDIR - 仅返回与模式匹配的目录项
  • GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误

注释:GLOB_ERR 是 PHP 5.1 添加的。

echo "<pre>";
    var_dump(glob("*.*"));
    echo "<hr>";

12 :is_dir()

判断指定的文件名是否是一个目录。

语法:is_dir(file)

File:必需。规定要检查的文件。

$file = "D:/wwwroot/xxx.com/";
    if(is_dir($file))
    {
        echo ("$file is a directory");
    }
    else
    {
        echo ("$file is not a directory");
    }
    echo "<hr>";

13 :is_writable()

判断文件是否可写。如果文件存在并且可写则返回 true。

语法:is_writable(file)

File:必需。规定要检查的文件。

$file = "target.txt";
    if(is_writable($file))
    {
        echo ("$file is writeable");
    }
    else
    {
        echo ("$file is not writeable");
    }

    echo "<hr>";

14 :mkdir()

创建目录,如果成功该函数返回 TRUE,如果失败则返回 FALSE。

语法:mkdir(path,mode,recursive,context)

Path:必需。规定要创建的目录的名称。

Mode:可选。规定权限。默认是 0777(允许全局访问)。

mode 参数由四个数字组成:

第一个数字通常是 0

第二个数字规定所有者的权限

第三个数字规定所有者所属的用户组的权限

第四个数字规定其他所有人的权限

可能的值(如需设置多个权限,请对下面的数字进行总计):

1 = 执行权限

2 = 写权限

4 = 读权限

Recursive:可选。规定是否设置递归模式。(PHP 5 中新增的)

Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。(PHP 5 中新增的)

echo mkdir("testing");
    echo "<hr>";

注释: mode 参数在 Windows 平台上被忽略。

15 :move_uploaded_file()

将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。

文件上传的核心就是这个文件

语法:move_uploaded_file(file,newloc)

File:必需。规定要移动的文件。

Newloc:必需。规定文件的新位置。

注释:本函数仅用于通过 HTTP POST 上传的文件。

注意:如果目标文件已经存在,将会被覆盖。

16 :parse_ini_file()

函数解析一个配置文件(ini 文件),并以数组的形式返回其中的设置。

语法:parse_ini_file(file,process_sections)

File:必需。规定要检查的 ini 文件。

process_sections:可选。如果设置为 TRUE,则返回一个多维数组,包括了配置文件中每一节的名称和设置。默认是 FALSE。

echo "<pre>";
    var_dump(parse_ini_file("test.ini"));
    echo "<hr>";

注:此ini文件不一定非的是php.ini,也可以是你自己的ini配置文件。

17 :realpath()

该函数删除所有符号连接(比如 '/./', '/../' 以及多余的 '/'),并返回绝对路径名。

如果失败,该函数返回 FALSE。

语法:realpath(path)

Path:必需。规定要检查的路径。

echo realpath("test.ini");

18 :rename()

rename() 函数重命名文件或目录。

如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。

语法:rename(oldname,newname,context)

Oldname:必需。规定要重命名的文件或目录。

Newname:必需。规定文件或目录的新名称。

Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。

echo rename("test.ini","testss.ini");
    echo "<hr>";

19 :tempnam()

创建唯一的临时文件。若成功,则该函数返回新的临时文件名。若失败,则返回 false。

语法:tempnam(dir,prefix)

Dir:必需。规定创建临时文件的目录。

Prefix:必需。规定文件名的开头。

    echo tempnam("D:wwwrootxxx.com","TMP0");
    echo "<hr>";

注: 此方法创建的文件,如果不再需要该文件则要删除此文件,不会自动删除的。

20 :tmpfile()

建立临时文件。此函数创建的临时文件会在文件关闭后(用 fclose())或当脚本结束后自动被删除。

语法:tmpfile()

$temp = tmpfile();
    fwrite($temp, "Testing, testing.");
    // 将文件指针的位置倒回文件的开头。
    rewind($temp);
    // 从文件中读取1K数据
    echo fread($temp,1024);
    //This removes the file
    fclose($temp);

21:unlink()

删除文件。如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。

语法:unlink(filename,context)

Filename:必需。规定要删除的文件。

Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。

// 如果没有text.txt文件,这样写输出的结果会报警告,测试代码,就这样了
    // 实际用的时候,需要注意这个问题
    $file = "test.txt";
    if (!unlink($file))
    {
        echo ("Error deleting $file");
    }
    else
    {
        echo ("Deleted $file");
    }

22 :chmod()

改变文件权限。如果成功则返回 TRUE,如果失败则返回 FALSE。

语法:chmod(file,mode)

File:必需。规定要检查的文件。

Mode:必需。规定新的权限。

mode 参数由 4 个数字组成:

第一个数字通常是 0

第二个数字规定所有者的权限

第三个数字规定所有者所属的用户组的权限

第四个数字规定其他所有人的权限

可能的值(如需设置多个权限,请对下面的数字进行总计):

1 = 执行权限

2 = 写权限

4 = 读权限

echo chmod("target.txt",0600);
echo "<hr>";

23:chown()

改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。

语法:chown(file,owner)

File:必需。规定要检查的文件。

Owner:必需。规定新的所有者。可以是用户名或用户的 ID。

echo chown("target.txt","root");
    echo "<hr>";

24:chgrp()

改变文件组。如果成功则返回 TRUE,否则返回 FALSE。

语法:chgrp(file,group)

File:必需。规定要检查的文件。

Group:可选。规定新的组。可以是组名或组的 ID。

echo chgrp("test.txt","admin");
    echo "<hr>";

到此这篇关于PHP常用的文件操作函数总结的文章就介绍到这了,更多相关PHP文件操作函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PHP文件读写操作相关函数总结

    一.fwrite()写入文件 将程序中的数据保存到文件中比较容易,使用fwrite()函数就可以将字符串内容写入文件中.在文件中中通过字符序列\n表示换行符,表示文件中一行的末尾.当需要一次输入或输出一行信息时,请记住这一点.不同的操作系统具有不同的结束符号,基于UNIX的系统使用"\n"作为行结束字符,基于Windows系统使用"\r\n"作为行结束字符,基于Macintosh的系统使用"\r"作为行结束字符.当要写入一个文本文件并想插入一个新

  • PHP常用文件操作函数和简单实例分析

    PHP最常用的文件操作就是读取和写入了,今天就主要讲解一下读取和写入函数,并且做一个页面访问的计数功能,来记录一个页面的访问量. fopen():PHP中没有文件创建函数,创建和打开文件都用fopen()函数,函数的形式为:resource fopen( string filename, string mode ) 参数filename为打开或创建并打开的文件名,参数mode为打开的模式,具体模式如下: fread():PHP中可用于读取文件,函数的形式为:string fread( resou

  • PHP操作文件的一些基本函数使用示例

    在对文件进行操作时,不仅可以对文件中的数据进行操作,还可以对文件本身进行操作.例如复制文件.删除文件.截取文件及为文件重命名等操作.在PHP中已经提供了这些文件处理方式的标准函数,使用也非常容易,如下表所示: 在表中,四个函数如果执行成功,则都会返回TRUE,失败则返回FALSE.它们的使用代码如下所示: 复制代码 代码如下: <?php //复制文件示例 if(copy('./file1.txt','../data/file2.txt')){ echo "文件复制成功!"; }

  • PHP常用的文件操作函数经典收藏

    以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名.如果文件名是以 suffix 结束的,那这一部分也会被去掉. eg: 复制代码 代码如下: $path = "/home/httpd/html/index.php"; $file = basename($path,".php"); // $file is set

  • PHP文件操作简单介绍及函数汇总

    文件操作一直是Web程序员头疼的地方,而文件操作在CMS这样的系统中又是必须的.如今,PHP文件操作的函数内容已经非常强大,文件这部分也是学习PHP非常重要的一部分,希望大家不要忽略.这篇文章会简单介绍一下PHP的几个基本文件操作,最后附有PHP文件函数汇总,供大家参考和学习. 1. 打开文件:fopen("文件名","模式"); 模式参数: r:只读,将文件指针指向文件头. r+:读/写,将文件指针指向文件头. w:只写,打开并清空文件的内容.如果文件不存在,则创

  • php常用文件操作函数汇总

    本文实例分析了php常用文件操作函数.分享给大家供大家参考.具体方法如下: 这里搜集了大量的php中文件操作函数如有文件打开,创建,删除,更变组,读取写文件,文件上传以及打开远程文件,把内容写入文件等实例. 复制代码 代码如下: $fp=fopen("test.txt","r"); //以只读方式打开文件,将文件指针指向文件头 $fp=fopen("test.txt","r+"); //以读写方式打开文件,将文件指针指向文件头

  • FileSystem对象常用的文件操作函数有哪些?

    FileSystem对象常用的文件操作函数有哪些?1.root函数格式 root()功能描述 返回一个路径串变量应用代码 'sample string = c:\intels\jingcaichunfeng\' Public Function root() root = Request.ServerVariables("Appl_Physical_Path") End Function 2.url函数格式 url()功能描述 返回一个URL串变量应用代码 'sample string

  • PHP常用的文件操作函数总结

    目录 1 :basename() 2 :copy() 3 :dirname() 4 :disk_free_space() 5 :disk_total_space() 6 :file_exists() 7 :file_get_contents() 8 :file_put_contents() 9 :filesize() 10 :filetype() 11 :glob() 12 :is_dir() 13 :is_writable() 14 :mkdir() 15 :move_uploaded_fil

  • python 文件操作api(文件操作函数)

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r"c:\python") 检验给出的路径是否是一个文件:os.path.isfile() 检验给出的路径是否是一个目录:os.path.isdir() 判断是否是绝对路

  • PHP打开和关闭文件操作函数总结

    在处理文件内容之前,通常需要建立与文件资源的连接,即打开文件.同样,结束该资源的操作后,应当关闭连接资源.所谓打开文件,实际是建立文件的各种有关信息,并使文件指针指向该文件,就可以发起输入或输出的实体联系在一起,也就禁止再对该文件进行操作.在PHP中可以通过标准函数fopen()建立与文件资源的连接,使用fclose()函数关闭通过fopen()函数打开的文件资源. ①函数fopen() 该函数用来打开一个文件,并在打开一个文件时,还需要指定如果使用它.也就是以哪种文件模式打开文件资源.服务器上

  • C#常用目录文件操作类实例

    本文实例讲述了C#常用目录文件操作类.分享给大家供大家参考.具体分析如下: 这个c#类封装了常用的目录操作,包括列出目录下的文件.检测目录是否存在.得到目录下的文件列表.检测目录是否为空.查找目录下的文件等等功能 using System; using System.Text; using System.IO; namespace DotNet.Utilities { /// <summary> /// 文件操作夹 /// </summary> public static clas

  • Python文件操作函数用法实例详解

    这篇文章主要介绍了Python文件操作函数用法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 字符编码 二进制和字符之间的转换过程 --> 字符编码 ascii,gbk,shit,fuck 每个国家都有自己的编码方式 美国电脑内存中的编码方式为ascii ; 中国电脑内存中的编码方式为gbk , 美国电脑无法识别中国电脑写的程序 , 中国电脑无法识别美国电脑写的程序 现在硬盘中躺着 ascii/gbk/shit/fuck 编码的文件,

  • Python中shutil模块的常用文件操作函数用法示例

    os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作.比如说:绝对路径,父目录--  但是,os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供. 而本文所讲的shutil则就是对os中文件操作的补充.--移动 复制  打包 压缩 解压, shutil函数功能: 1  shutil.copyfileobj(fsrc, fdst[, length=16*1024]) copy文件内容到另一个文件,可以copy指定大小的内容 先来看

随机推荐