# 文件辅助函数
文件辅助函数文件包含了一些帮助你处理文件的函数。
[TOC=2,3]
## [加载辅助函数](http://codeigniter.org.cn/user_guide/helpers/file_helper.html#id4)
该辅助函数通过下面的代码加载:
~~~
$this->load->helper('file');
~~~
## [可用函数](http://codeigniter.org.cn/user_guide/helpers/file_helper.html#id5)
该辅助函数有下列可用函数:
read_file($file)
参数:
* **$file** (string) -- File path
返回: File contents or FALSE on failure
返回类型: string
返回指定文件的内容。
例如:
~~~
$string = read_file('./path/to/file.php');
~~~
可以是相对路径或绝对路径,如果失败返回 FALSE 。
注解
路径是相对于你网站的 index.php 文件的,而不是相对于控制器或视图文件。 这是因为 CodeIgniter 使用的前端控制器,所以所有的路径都是相对于 index.php 所在路径。
注解
该函数已废弃,使用 PHP 的原生函数 file_get_contents() 代替。
重要
如果你的服务器配置了 **open_basedir** 限制,该函数可能无法访问限制之外的文件。
write_file($path, $data[, $mode = 'wb'])
参数:
* **$path** (string) -- File path
* **$data** (string) -- Data to write to file
* **$mode** (string) -- fopen() mode
返回: TRUE if the write was successful, FALSE in case of an error
返回类型: bool
向指定文件中写入数据,如果文件不存在,则创建该文件。
例如:
~~~
$data = 'Some file data';
if ( ! write_file('./path/to/file.php', $data))
{
echo 'Unable to write the file';
}
else
{
echo 'File written!';
}
~~~
你还可以通过第三个参数设置写模式:
~~~
write_file('./path/to/file.php', $data, 'r+');
~~~
默认的模式的 'wb' ,请阅读 [PHP 用户指南](http://php.net/manual/en/function.fopen.php) 了解写模式的选项。
注解
路径是相对于你网站的 index.php 文件的,而不是相对于控制器或视图文件。 这是因为 CodeIgniter 使用的前端控制器,所以所有的路径都是相对于 index.php 所在路径。
注解
该函数在写入文件时会申请一个排他性锁。
delete_files($path[, $del_dir = FALSE[, $htdocs = FALSE]])
参数:
* **$path** (string) -- Directory path
* **$del_dir** (bool) -- Whether to also delete directories
* **$htdocs** (bool) -- Whether to skip deleting .htaccess and index page files
返回: TRUE on success, FALSE in case of an error
返回类型: bool
删除指定路径下的所有文件。
例如:
~~~
delete_files('./path/to/directory/');
~~~
如果第二个参数设置为 TRUE ,那么指定路径下的文件夹也一并删除。
例如:
~~~
delete_files('./path/to/directory/', TRUE);
~~~
注解
要被删除的文件必须是当前系统用户所有或者是当前用户对之具有写权限。
get_filenames($source_dir[, $include_path = FALSE])
参数:
* **$source_dir** (string) -- Directory path
* **$include_path** (bool) -- Whether to include the path as part of the filenames
返回: An array of file names
返回类型: array
获取指定目录下所有文件名组成的数组。如果需要完整路径的文件名, 可以将第二个参数设置为 TRUE 。
例如:
~~~
$controllers = get_filenames(APPPATH.'controllers/');
~~~
get_dir_file_info($source_dir, $top_level_only)
参数:
* **$source_dir** (string) -- Directory path
* **$top_level_only** (bool) -- Whether to look only at the specified directory (excluding sub-directories)
返回: An array containing info on the supplied directory's contents
返回类型: array
获取指定目录下所有文件信息组成的数组,包括文件名、文件大小、日期 和 权限。 默认不包含子目录下的文件信息,如有需要,可以设置第二个参数为 FALSE ,这可能会是一个耗时的操作。
例如:
~~~
$models_info = get_dir_file_info(APPPATH.'models/');
~~~
get_file_info($file[, $returned_values = array('name', 'server_path', 'size', 'date')])
参数:
* **$file** (string) -- File path
* **$returned_values** (array) -- What type of info to return
返回: An array containing info on the specified file or FALSE on failure
返回类型: array
获取指定文件的信息,包括文件名、路径、文件大小,修改日期等。第二个参数可以用于 声明只返回回你想要的信息。
第二个参数 $returned_values 有效的值有:name、size、date、readable、writeable、 executable 和 fileperms 。
get_mime_by_extension($filename)
参数:
* **$filename** (string) -- File name
返回: MIME type string or FALSE on failure
返回类型: string
根据 config/mimes.php 文件中的配置将文件扩展名转换为 MIME 类型。 如果无法判断 MIME 类型或 MIME 配置文件读取失败,则返回 FALSE 。
~~~
$file = 'somefile.png';
echo $file.' is has a mime type of '.get_mime_by_extension($file);
~~~
注解
这个函数只是一种简便的判断 MIME 类型的方法,并不准确,所以 请不要用于安全相关的地方。
symbolic_permissions($perms)
参数:
* **$perms** (int) -- Permissions
返回: Symbolic permissions string
返回类型: string
将文件权限的数字格式(譬如 fileperms() 函数的返回值)转换为标准的符号格式。
~~~
echo symbolic_permissions(fileperms('./index.php')); // -rw-r--r--
~~~
octal_permissions($perms)
参数:
* **$perms** (int) -- Permissions
返回: Octal permissions string
返回类型: string
将文件权限的数字格式(譬如 fileperms() 函数的返回值)转换为三个字符的八进制表示格式。
~~~
echo octal_permissions(fileperms('./index.php')); // 644
~~~
- 欢迎使用 CodeIgniter
- 安装说明
- 下载 CodeIgniter
- 安装说明
- 从老版本升级
- 疑难解答
- CodeIgniter 概览
- CodeIgniter 将从这里开始
- CodeIgniter 是什么?
- 支持特性
- 应用程序流程图
- 模型-视图-控制器
- 设计与架构目标
- 教程 - 内容提要
- 加载静态内容
- 读取新闻条目
- 创建新闻条目
- 结束语
- 常规主题
- CodeIgniter URL
- 控制器
- 保留名称
- 视图
- 模型
- 辅助函数
- 使用 CodeIgniter 类库
- 创建类库
- 使用 CodeIgniter 驱动器
- 创建驱动器
- 创建核心系统类
- 创建附属类
- 钩子 - 扩展框架核心
- 自动加载资源
- 公共函数
- 兼容性函数
- URI 路由
- 错误处理
- 网页缓存
- 程序分析
- 以 CLI 方式运行
- 管理你的应用程序
- 处理多环境
- 在视图文件中使用 PHP 替代语法
- 安全
- PHP 开发规范
- 类库参考
- 基准测试类
- 缓存驱动器
- 日历类
- 购物车类
- 配置类
- Email 类
- 加密类
- 加密类(新版)
- 文件上传类
- 表单验证类
- FTP 类
- 图像处理类
- 输入类
- Javascript 类
- 语言类
- 加载器类
- 迁移类
- 输出类
- 分页类
- 模板解析类
- 安全类
- Session 类
- HTML 表格类
- 引用通告类
- 排版类
- 单元测试类
- URI 类
- 用户代理类
- XML-RPC 与 XML-RPC 服务器类
- Zip 编码类
- 数据库参考
- 数据库快速入门: 示例代码
- 数据库配置
- 连接你的数据库
- 查询
- 生成查询结果
- 查询辅助函数
- 查询构造器类
- 事务
- 数据库元数据
- 自定义函数调用
- 数据库缓存类
- 数据库工厂类
- 数据库工具类
- 数据库驱动器参考
- 辅助函数参考
- 数组辅助函数
- 验证码辅助函数
- Cookie 辅助函数
- 日期辅助函数
- 目录辅助函数
- 下载辅助函数
- 邮件辅助函数
- 文件辅助函数
- 表单辅助函数
- HTML 辅助函数
- 语言辅助函数
- Inflector 辅助函数
- 数字辅助函数
- 路径辅助函数
- 安全辅助函数
- 表情辅助函数
- 字符串辅助函数
- 文本辅助函数
- 排版辅助函数
- URL 辅助函数
- XML 辅助函数
- 向 CodeIgniter 贡献你的力量