(参考代码库中文件处理中的filestudy.php和showAll.php和下载doDownload.php, showAll.php和doDownload.php是配合使用)
#### 打开文件
resource fopen(string $filename,string $mode); 打开文件或URL
参数:$filename 要打开的文件名 $mode文件打开方式
其中$mode文件打开方式:
“r”只读方式打开,指针移到文件开头
“r+”读写方式打开
“w”写入方式打开,指针移到文件开头。如果文件不存在,会自动创建。清空写
“w+”读写方式打开
“a”追加方式打开,指针移到文件结尾。如果文件不存在,会自动创建。追加写
“a+”读写方式打开
“b”以二进制数据打开,为了安全起见,在打开方式后加上”b”参数。文便内容的移植。
返回:打开成功返回一个句柄(资源),打开失败返回FALSE。
##### 打开模式
基本模式:
- R 读
- W 清空写,文件存在直接打开同时清空。
- A 追加写,文件存在直接打开
- X 新建写,只能新建文件进行操作!就是写操作,与w类似
+扩展模式:
扩展的操作,都可以完成读写操作。
差异与基本模式一致!
- R+ 读写,打开任意文件(无论是存在还是不存在),文件内容不会被清空,依据指针位置,完成读,写操作。其中,写,会替换原有指针位置字节。
- W+ 读写,打开时,同时清空内容,之后指针在哪里,就 在哪里完成读写!与R+唯一的差异,就是会清空文件内容!
- A+ 读写,打开任意文件,不会清空内容,指针仅仅影响读操作。不影响写操作,仅仅可以在末尾写!
- X+ 读写,新建才能打开,依据文件指针位置,进行读写操作!
#### 关闭文件
bool fclose(resource $handle); 关闭一个已打开的文件指针
#### 读取文件内容
##### 读取指定大小
string fread(resource $handle,int $length); 读取文件(可安全用于二进制文件)
$handle打开的文件指针; $length读取的字节数,一般1kb=1024b
返回读取的内容
##### 读行
string fgets(resource $handle\[,int $length\]); 从文件指针中读取一行
参数:$handle 文件指针 $length可以指定读取的字节数.从handle指向的文件中读取一行并返回长度最多为length-1字节的字符串.碰到换行符(包括在返回值中) 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
返回读取的字符串
##### 把文件读入数组
array file(string $filename\[,int $flags=0\]); 把整个文件读入一个数组中
参数:
$filename文件名,不用打开、关闭文件。
$flags,附加选项。
FILE\_USE\_INCLUDE\_PATH(1),在 [include\_path](mk:@MSITStore:C:%5C20160511%5Cmanual%5Cphp_enhanced_zh.chm::/res/ini.core.html) 中查找文件。
FILE\_IGNORE\_NEW\_LINES(2),在数组每个元素的末尾不要添加换行符
FILE\_SKIP\_EMPTY\_LINES(4),跳过空行
返回:返回整个文件的一个数组。
##### 把文件内容读入字符串(不用打开)
string file\_get\_contents(string $filename) 将整个文件读入一个字符串
提示:不用打开文件,也不用关闭文件
##### 写入文件
###### 写入文件内容
int fwrite(resource $handle,string $string \[,int $length\]); 写入文件(可安全用于二进制文件)
参数:$handle打开的文件指针;$string要写入的字符串;$length表示要写入的字符数
###### 将字符串写入文件,不用打开
int file\_put\_contents(string $filename,mixed $data) 将一个字符串写入文件
#### 拷贝文件
bool copy(string $source, string $dest);
#### 删除文件
bool unlink(string $filename); 删除文件
#### 文件指针
bool feof ( resource $handle ) 测试文件指针是否到了文件结束的位置
定位指针: fseek(句柄,位置),位置从0开始递增
获取指针位置: ftell(句柄); 获取指针位置
#### 取得文件属性
- 文件大小:filesize($filename)
- 创建时间:filectime($filename)
- 访问时间:fileatime($filename)
- 修改时间:filemtime($filename) 时间戳
- 文件权限:fileperms($filename)
- PHP
- 页面跳转
- 数据类型和运算符
- 整形
- 浮点型
- 字符串型
- 布尔型
- 判断数据类型
- 传值
- 类型转换
- 常量
- 进制转换
- 运算符
- 各种结构
- 数组
- 分类
- 创建
- 多维数组
- 数组操作函数
- 数组指针
- 排序
- 数组交换需要注意的
- 函数
- 创建函数
- 参数传递
- 参数数量问题
- 返回值
- 可变函数
- 匿名函数
- 冒泡,选择,二分
- 变量的作用域
- 局部作用域中使用全局
- use
- 有关函数的系统函数
- 递归
- 递推(迭代)
- 面向对象
- 类和对象
- 值传递
- 引用传递
- 成员
- 构造和析构调用上级同类方法
- 重写
- 最终类
- 最终方法
- 设计模式
- 抽象类
- 抽象方法
- 抽象类和抽象方法的细节
- 重载
- 接口
- 类和接口的总结
- 自动加载
- 克隆
- 对象的遍历
- 内置标准类
- 其他类型转对象类型
- 类型约束
- 魔术方法
- static关键字
- 命名空间
- 子级空间
- 引入机制
- 公共空间
- 使用注意
- 错误处理
- 错误的触发
- 错误报告的显示
- 错误日志的记录问题
- 自定义错误处理器
- 异常抛出
- 文件锁
- 文件处理
- 序列化与反序列化
- 目录操作
- 文件操作
- 文件上传
- $_FILFS
- 多文件上传处理
- 绘图技术
- 创建画布资源
- 操作画布
- 导出
- 销毁资源
- 验证码
- 补充文件居中
- 在图像上写入一行TTF字体的文本
- 获得图像相关信息
- 水印
- 等比例缩放
- 常见错误
- HTTP协议
- URL的构成
- 请求
- 防盗链
- 响应
- 使用header()禁用缓存
- 下载文件的HTTP响应头
- 文件下载
- HTTPS
- 会话技术
- cookie
- session
- PHP操作MySQL函数
- 登录
- 一些函数
- 从结果集中取出一行数据
- 获取行数,列数,字段名
- 安全
- 缓存
- 补充
- MySQL
- 语法
- 备份和恢复
- 注释
- 语句行
- 字符集
- 校验级
- 存储引擎
- 数据库操作
- 创建数据库
- 删除数据库
- 显示数据库
- 修改数据库
- 数据类型
- 整数类型
- 小数类型
- 日期时间型
- 字符和文本型
- enum类型
- set类型
- 时间类型
- 表操作
- 创建
- 索引
- 约束
- 表选项列表
- 表的其他语句
- 视图语法
- 增删改查
- 插入数据(增)
- 删除数据(删)
- 修改数据(改)
- 查询(查)
- 用户和权限管理
- 用户管理
- 权限管理
- PDO
- 与PDO相关的几个类
- 连接数据库
- 使用
- PDO的错误处理
- PDO结果集对象
- pdo结果集对象的常用方法
- PDO预处理
- 常用属性
- mysql编程
- 事务
- 语句块
- mysql中的变量
- (存储)函数
- 存储过程procedure
- 触发器(trigger)
- mysql优化
- 存储引擎
- 字段类型
- 逆范式
- 索引
- Memcache
- 与redis区别
- 安装
- php开启扩展
- php操作memcache
- Key的命名
- 有效期
- 各种数据类型存储
- 删除
- 第三个参数压缩作用
- 其他相关操作方法
- 终端命令操作方式
- 获取memcache统计信息
- Git
- 创建一个git仓库
- 添加
- 修改文件
- 删除文件
- 克隆
- 个人网站
- Ajax
- 发起请求
- 接受响应
- 常用属性和方法
- get和post
- get
- post
- 同步和异步
- 什么时候使用同步请求?
- 分页
- xml的接收和处理
- JSON
- 无刷新表单提交和进度条
- JQuery操作ajax
- iframe
- 邮件
- 介绍
- 发送邮件
- 直投邮件
- 中转邮件发送
- phpmailer
- 正则表达
- 简单使用
- preg_match()
- 正则内容
- 定义字符集
- 特别字符集
- 组合字符集
- 限制字符
- 模式修正符
- 进行全局匹配