PHP文件系统,检测、目录、权限、路径、留言本(笔记18)
网络安全自学笔记18
继续学习PHP文件系统
笔记17主要学习了PHP文件系统,创建、读写、移动、拷贝和删除文件
PHP 检测文件属性
常用文件属性函数:
bool file_exists ( $指定文件名或者文件路径)
功能:文件是否存在。
bool is_readable ( $指定文件名或者文件路径)
功能:文件是否可读。
bool is_writeable ( $指定文件名或者文件路径)
功能:文件是否可写。
bool is_executable ( $指定文件名或者文件路径)
功能:文件是否可执行。
bool is_file ( $指定文件名或者文件路径)
功能:是否是文件。
bool is_dir ( $指定文件名或者文件路径)
功能:是否是目录。
void clearstatcache ( void )
功能:清除文件的状态缓存。
假设安装界面的网址是:install.php,安装的锁文件是install.lock,可以这样检测install.lock文件是否存在。test.php文件输入以下代码,执行
如果test.php文件同目录下有install.lock文件,则执行结果如下
如果test.php文件同目录下没有install.lock文件,则执行结果如下
PHP 目录处理
基本思想如下:
1.读取某个路径的时候判断是否是文件夹
2.是文件夹的话,打开指定文件夹,返回文件目录的资源变量
3.使用readdir读取一次目录中的文件,目录指针向后偏移一次
4.使用readdir读取到最后,没有可读的文件返回false
5.关闭文件目录
函数名 | 功能 |
opendir | 打开文件夹,返回操作资源 |
readdir | 读取文件夹资源 |
is_dir | 判断是否是文件夹 |
closedir | 关闭文件夹操作资源 |
filetype | 显示是文件夹还是文件,文件显示file,文件夹显示dir |
例:检测C盘phpStudy文件夹下文件
PHP 文件权限设置
chmod($filename, $mode);主要是修改文件的的权限
文件和目录的基本权限
读权限(r):读取文件内容或列出目录内容
写权限(w):修改文件内容或创建新文件/目录
执行权限(x):允许进入目录,运行文件
用户和组
用户(user):文件的拥有者
组(group):文件所属的用户组
其他用户(other):除拥有者和所属组之外的其他用户
例:
PHP 文件路径
需要处理文件路径的情况:
1.文件后缀需要取出来
2.路径需要取出名字不取目录
3.只需要取出路径名中的目录路径
4.网址中的各个部分进行解析取得独立值
5.自己组成一个url出来
... ....
函数名 | 功能 |
pathinfo | 返回文件的各个组成部分 |
basename | 返回文件名 |
dirname | 文件目录部分 |
parse_url | 网址拆解成各部分 |
http_build_query | 生成url 中的query字符串 |
http_build_url | 生成一个url |
例:
PHP 实现文件留言本
文件结构:
index.php ---展示输入框和留言内容
write.php ---向message.txt写入数据
message.txt ---存入聊天内容
新建index.php文件,输入以下代码
新建write.php文件,输入以下代码
下面进行验证,浏览器打开http://192.168.31.100/index.php
输入任意内容,点提交
继续输入任意内容,点提交
打开生成的message.txt文件,可看到内容
总结:
1、继续学习PHP语言
2、学习PHP文件系统,检测属性、目录处理、权限修改、路径处理、实现留言本