PHP代码审计(四)PHP文件操作函数(1)

简介: 改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。语法:chown(file,owner)

常用PHP文件操作函数

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

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

 

1:basename()

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

语法:basename(path,suffix)

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

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

php

复制代码

// 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:必需。规定复制文件的目的地。

arduino

复制代码

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

3:dirname()

返回路径中的目录部分。

语法:dirname(path)

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

bash

复制代码

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

4:disk_free_space()

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

语法:disk_free_space(directory)

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

arduino

复制代码

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

5:disk_total_space()

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

语法:disk_total_space(directory)

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

bash

复制代码

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

6:file_exists()

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

语法:file_exists(path)

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

php

复制代码

// 查看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 中新增的。

php

复制代码

// 读取文件
    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 是一套可以修改流的行为的选项。

php

复制代码

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

作者:camellia

链接:https://juejin.cn/post/7128559059732529183

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
5天前
|
JSON PHP Apache
[GFCTF 2021]Baby_Web(CVE-2021-41773) 从一道题入门PHP代码审计 (保姆级)
[GFCTF 2021]Baby_Web(CVE-2021-41773) 从一道题入门PHP代码审计 (保姆级)
8 1
|
12天前
|
SQL 安全 API
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
27 4
|
11天前
|
前端开发 网络安全 PHP
PHP代码审计之MVC与ThinkPHP简介
PHP代码审计之MVC与ThinkPHP简介
20 2
|
11天前
|
监控 安全 网络安全
PHP代码审计之简单思路方法
PHP代码审计之简单思路方法
31 1
|
14天前
|
监控 数据库连接 PHP
php中register_shutdown_function函数用法详解
通过 `register_shutdown_function`,PHP开发者可以对脚本的终止进行更精细化的处理,这个函数让开发者能在脚本的生命周期结束时有机会执行最后的操作,无论脚本是正常结束还是发生错误。由于它的高度实用性和灵活性,`register_shutdown_function`是PHP开发中不可或缺的工具之一。
12 0
|
1月前
|
SQL 关系型数据库 MySQL
php所有函数总结
以上只是PHP中函数的一部分,实际上PHP提供了丰富的内置函数,能够处理各种复杂的任务。
13 2
|
2月前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
1月前
|
存储 Serverless PHP
|
2月前
|
PHP
原生php制作分页函数
原生php制作分页函数
17 0
|
3月前
|
PHP Perl
PHP-ereg()函数
但再次强调,不建议使用ereg()函数,而应该改用preg_match()函数来执行更灵活和强大的正则表达式匹配操作。
38 4