## 1、目录操作概述
例如,百度网盘(http://pan.baidu.com) ,就是经典的网页版文件管理系统。
![](https://img.kancloud.cn/ea/85/ea85b447d82817e95bf573051e7769de_889x338.png)
## 2、创建新目录mkdir()
* 描述:尝试新建一个由 pathname 指定的目录。
* 语法:
```
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false ]] )
```
* 参数:
$pathname:指定目录的路径;
$mode:默认的 mode 是 0777,意味着最大可能的访问权。$mode在windows下被忽略。 注意$mode的值为八进制。
$recursive:如果指定的路径的上级目录不存在,则也会递归创建。
* 返回值:成功时返回TRUE,失败时返回FALSE。
![](https://img.kancloud.cn/bb/0c/bb0c93cb4a172acc0159dbb150f20bb4_658x149.png)
## 3、判断是否是一个目录is_dir()
* 描述:判断给定文件名是否是一个目录。
* 语法:
```
bool is_dir ( string $filename )
```
* 返回值:如果文件名存在,并且是个目录,返回 TRUE,否则返回FALSE。
![](https://img.kancloud.cn/25/57/2557c0916b4ab7df75bbcd3c85bfcea5_722x220.png)
## 4、判断目录或文件是否存在file_exists()
* 语法:
```
bool file_exists ( string $filename )
```
* 提示:可以判断文件,也可以判断目录,是否存在。
* 返回:如果由 filename 指定的文件或目录存在则返回 TRUE,否则返回 FALSE。
![](https://img.kancloud.cn/22/9b/229b9bfff7b83d51f8f3c63cd7725564_788x435.png)
## 5、删除目录rmdir()
* 语法:
```
bool rmdir ( string $dirname )
```
* 参数:$dirname目录路径。
* 返回值:成功时返回 TRUE, 或者在失败时返回 FALSE。
* 提示:尝试删除 dirname 所指定的目录。 该目录必须是空的,且要有相应的权限。
![](https://img.kancloud.cn/e7/c7/e7c7fa9881662618335f988c787b0971_1024x269.png)
## 6、更改目录的访问权限chmod()
* 描述:改变文件的访问权限
* 语法:
```
bool chmod ( string $filename , int $mode )
```
* 参数:
$filename,指定文件的路径;
$mode,mode 参数包含三个八进制数按顺序分别指定了所有者、所有者所在的组以及所有人的访问限制。每一部分都可以通过加入所需的权限来计算出所要的权限。数字 1 表示使文件可执行,数字 2 表示使文件可写,数字 4 表示使文件可读。加入这些数字来制定所需要的权限。
* 提示:在window下文件的只读权限是 0444。文件夹只读权限0555。
* 注意:此函数不能作用于远程文件。
![](https://img.kancloud.cn/f2/85/f285de8c98eb94b2f447437cd9d190d2_703x102.png)
## 7、取得目录或文件访问权限fileperms()
* 语法:
```
int fileperms ( string $filename )
```
* 返回值:以十进制数字返回文件的访问权限。
![](https://img.kancloud.cn/4b/01/4b01e835330ca987d2fa6f26c9ae8591_724x248.png)
## 8、重命名或移动文件或目录rename()
* 描述:重命名或移动一个文件或目录。如果文件不存在同一目录下,就是移动。
* 语法:
```
bool rename ( string $oldname , string $newname )
```
* 返回值:成功时返回 TRUE, 或者在失败时返回 FALSE。
![](https://img.kancloud.cn/ab/1d/ab1d733b8fd71150161fb840e3d7feb3_794x148.png)
## 9、打开目录opendir()
* 描述:打开目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。
* 语法:
```
resource opendir ( string $path )
```
* 返回值:如果成功则返回目录句柄的 resource,失败则返回 FALSE。
![](https://img.kancloud.cn/c1/15/c115ec38faa0c297f1f0cbe86616081f_790x333.png)
## 10、读取目录中条目readdir()
* 描述:从目录句柄中读取条目 ;
* 语法:
```
string readdir ([ resource $dir_handle ] )
```
* 说明:返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
* 返回:成功则返回文件名 或者在失败时返回 FALSE 。
![](https://img.kancloud.cn/a8/1b/a81ba4e20e25e83a76775433deadcdf8_815x479.png)
## 11、显示中文目录或文件iconv()
* 描述:字符串按要求的字符编码来转换
* 语法:
```
string iconv ( string $in_charset , string $out_charset , string $str )
```
* 参数:
$in_charset,输入的字符集;
$out_charset,输出的字符集;
$str,要转换的字符串;
* 返回:返回转换后的字符串, 或者在失败时返回 FALSE。
![](https://img.kancloud.cn/ea/dc/eadc05f4cfbcc6411148e127a6c51c98_746x546.png)
## 12、关闭目录句柄closedir()
* 描述:关闭由 dir_handle 指定的目录流。流必须之前被 opendir() 所打开。
* 语法:
```
void closedir ( [resource $dir_handle] )
```
* 提示:如果省略$dir_handle,则默认为最后由opendir()打开的目录句柄。
![](https://img.kancloud.cn/47/eb/47eb14f723c238c65b33a6b3812cd01a_764x295.png)
- 1、CMD下MySQL操作
- 1.1具体步骤
- 1.2使用phpMyAdmin导入数据库
- 1.3PHP连接MySQL服务器
- 1.4选择当前数据库
- 1.5设置客户端字符集
- 1.6执行各种SQL语句
- 1.7从结果集获取一行数据
- 1.8获取记录数
- 1.9综合案例:学生信息管理
- 1.10PHP处理复选框数据
- 2、PHP操作目录、文件
- 2.1PHP操作目录
- 2.2综合实例:递归遍历phpMyAdmin下的所有条目
- 2.3PHP操作文件
- 2.4综合实例:递归删除phpMyAdmin目录
- 3、PHP分页、HTTP协议
- 3.1PHP数据分页
- 3.2HTTP协议概述
- 3.3HTTP协议之URL
- 3.4HTTPWatch抓包工具使用
- 3.5HTTP协议之请求
- 3.6HTTP协议之响应
- 3.7综合案例:实现视频文件下载
- 4、图像处理、文件上传
- 4.1图像处理概述
- 4.2创建图像和销毁图像
- 4.3图像操作
- 4.4实例:图像验证码
- 4.5实例:往图像上写入一行汉字
- 4.6实例:制作图像水印效果
- 4.7实例:生成图像缩略图
- 4.8文件上传
- 4.9实例:单个文件上传
- 4.10实例:多个文件上传
- 5、COOKIE和SESSION
- 5.1COOKIE概述
- 5.2COOKIE操作
- 5.3COOKIE设置
- 5.4删除COOKIE数据
- 5.5COOKIE的总结
- 5.6SESSION概述
- 5.7SESSION操作
- 5.8SESSION对应COOKIE的配置(php.ini)
- 5.9SESSION垃圾回收机制
- 6、实践:在线相册
- 6.1准备工作
- 6.2创建数据库
- 6.3用户登录功能
- 6.4显示照片列表
- 6.5添加照片
- 6.6显示照片详细信息
- 7、面向对象
- 7.1什么是面向过程的编程思想
- 7.2什么是面向对象的编程思想?
- 7.3类和对象的关系
- 7.4类的定义
- 7.5类的成员属性定义
- 7.6类的成员方法定义
- 7.7创建类的实例对象
- 7.8对象属性操作
- 7.9对象方法操作
- 7.10伪变量$this的使用
- 7.11类常量的定义
- 7.12构造方法
- 7.13析构方法
- 7.14静态属性和静态方法
- 7.15OOP中内存的分配情况
- 7.16类的封装性
- 7.17类的继承性
- 7.18类的多态
- 7.19最终类和最终方法
- 7.20抽象类和抽象方法
- 7.21接口技术
- 7.22类的自动加载
- 7.23对象克隆
- 7.24对象遍历
- 7.25常用魔术方法
- 7.26面向对象的设计模式
- 7.27综合案例:学生信息管理系统
- 7.28工厂设计模式
- 7.29重载
- 7.30变量序列化
- 7.31常用的魔术常量
- 8、命名空间和PDO
- 8.1静态延时绑定
- 8.2命名空间概述
- 8.3使用命名空间
- 8.4namespace关键字
- 8.5命名空间元素的导入和别名
- 8.6PDO概述
- 8.7PDO对象常用方法
- 8.8PDOStatement对象常用方法
- 8.9PDO错误处理
- 8.10SQL语句预处理
- 9、Smarty模板引擎
- 9.1模板引擎的工作原理
- 9.2Smarty快速入门
- 9.3Smarty配置
- 9.4Smarty模板(视图)中的变量
- 9.5Smarty循环——foreach
- 9.6Smarty循环——section循环
- 9.7Smarty条件判断——if语句
- 9.8Smarty变量调节器
- 10、MVC框架
- 10.1MVC框架思想原理
- 10.2MVC实例:学生信息管理
- 10.3MVC第1个版本:整合学生模块和新闻模块
- 10.4MVC第2个版本:基础模型类的实现
- 10.5MVC第3个版本:工厂模型类
- 10.6MVC第4个版本:控制器类的实现
- 10.7MVC第5个版本:添加学生信息
- 10.8MVC第6个版本:控制器类的进一步优化
- 10.9MVC第7个版本:删除新闻数据
- 10.10MVC第8个版本:基础控制器类实现
- 10.11MVC第9个版本:学生信息修改
- 10.12MVC第10个版本:文件简单分目录
- 10.13MVC第11个版本:前端控制器实现
- 10.14MVC第12个版本:平台概念的引入
- 10.15MVC第13个版本:类的自动加载
- 10.16MVC第14个版本:常用目录常量配置
- 10.17MVC第15个版本:初始类实现
- 11、Blog系统实战
- 11.1项目开发流程
- 11.2博客系统概述
- 11.3博客项目的MVC目录结构
- 11.4博客项目MVC框架搭建
- 11.5学生信息管理(前台)
- 11.6学生信息管理(后台)
- 11.7封装PDOWrapper类
- 11.8PDOWrapper类与MVC框架整合
- 11.9工厂模型类方法的实现
- 11.10封装自己的Smarty类
- 11.11博客项目后台——首页管理
- 11.12博客项目后台——用户管理
- 11.13博客项目后台——用户登录
- 11.14图像验证码类
- 11.15用户登录——引入图像验证码
- 11.16用户访问权限(简单权限)
- 11.17博客项目后台首页相关信息修改
- 11.18博客项目后台——用户退出
- 11.19博客项目后台——友情链接管理
- 11.20文章类别管理
- 11.21文章管理
- 11.22前台首页管理
- 11.23列表页管理
- 11.24内容页管理