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

来源:稀土掘金

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

目录
相关文章
|
4月前
|
安全 小程序 PHP
PHP代码审计(七)Rips源代码审计系统使用教程
上一篇中提到的Seay源代码审计系统是由C#编写的winform程序,现在已经停止更新了,但是,还是比较好用的。 PHP代码审计还有另一个工具,也是一个神器Rips
120 0
|
4月前
|
安全 小程序 PHP
PHP代码审计(五)PHP代码审计方法与步骤
(1):获取到网站源码(这就是废话……) (2):将网站部署到你自己的环境中,能运行。 这里特殊说明一下我的习惯,我本地的环境与线上的环境基本上保持一致,这样在本地审计及线上部署的时候能发现更多的问题。不建议说是随便搭个环境能跑起来就行,这样不是很严谨。 (3):拿到源码之后,浏览大概的项目结构。
64 0
|
4月前
|
安全 小程序 PHP
PHP代码审计(六)Seay源代码审计系统使用教程
www.cnseay.com/ 当然,这个已经不能访问了。 软件的版本比较早,需要.NET framework3.5框架,我这里是软件启动的时候自动提醒安装,如果没有自动提醒,那么你需要手动安装.NET frameWork3.5框架,否则,程序应该是没有办法运行。
213 0
|
2月前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
12 0
|
2月前
|
PHP
从PHP开始学渗透 -- 函数
从PHP开始学渗透 -- 函数
8 0
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
|
3月前
|
PHP 数据安全/隐私保护
|
4月前
|
XML 开发框架 .NET
代码审计之PHP基础铺垫
代码审计之PHP基础铺垫
58 0
|
4月前
|
小程序 Shell PHP
PHP代码审计(四)PHP文件操作函数(3)
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。 语法:chown(file,owner)
20 0
|
7月前
|
PHP
PHP 可变函数
PHP 可变函数
29 0