文件系统辅助函数¶
目录辅助函数文件包含的函数协助目录运行。
通用函数¶
接下来的函数是通用的:
-
directory_map
($source_dir[, $directory_depth = 0[, $hidden = FALSE]])¶ 参数: - $source_dir (string) – 资源目录路径
- $directory_depth (int) – 遍历目录量度 (0 = 完全递归, 1 = 最近目录, 等等)
- $hidden (bool) – 是否包含隐藏目录
返回: 文件数组
返回类型: array
例如:
$map = directory_map('./mydirectory/');
注解
路径几乎常常与你的主要 index.php 文件有关系。
子文件夹包含的目录还会被映射。如果你希望控制递归量度,你会使用秒参数(整型)。1 的量度将仅仅映射根层目录:
$map = directory_map('./mydirectory/', 1);
默认情况下,在返回数组里将不会被包含隐藏文件。推翻这个运转状态,你也许要设置第三个参数为真(boolean):
$map = directory_map('./mydirectory/', FALSE, TRUE);
每一个文件名将是数组索引,它包含的文件将会被用数值编入索引。下面是一个典型数组:
Array ( [libraries] => Array ( [0] => benchmark.html [1] => config.html ["database/"] => Array ( [0] => query_builder.html [1] => binds.html [2] => configuration.html [3] => connecting.html [4] => examples.html [5] => fields.html [6] => index.html [7] => queries.html ) [2] => email.html [3] => file_uploading.html [4] => image_lib.html [5] => input.html [6] => language.html [7] => loader.html [8] => pagination.html [9] => uri.html )
如果没有找到结果,将会返回空数组。
-
write_file
($path, $data[, $mode = 'wb'])¶ 参数: - $path (string) – File 路径
- $data (string) – 数据写入 file
- $mode (string) –
fopen()
模式
返回: 如果写入成功为 TRUE , 万一错误是 FALSE
返回类型: 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 文件,不是你的 controller 或者 view 文件。 CodeIgniter 用前端 controller 因此路径常常关联主站的 index.
注解
当写入文件时函数捕获了文件上独占的锁定。
-
delete_files
($path[, $del_dir = FALSE[, $htdocs = FALSE]])¶ 参数: - $path (string) – 目录路径
- $del_dir (bool) – 是否也删除目录
- $htdocs (bool) – 是否跳过删除 .htaccess 和 index page 文件
返回: 万一为FALSE,TRUE 为真
返回类型: bool
删除所有包含在备用路径里的文件。
例如:
delete_files('./path/to/directory/');
如果第二个参数设置为 TRUE,包含备用根路径的任何目录将也会被删除。
例如:
delete_files('./path/to/directory/', TRUE);
注解
文件必须是可写的而已经归属至系统的文件原则上已被删除。
-
get_filenames
($source_dir[, $include_path = FALSE])¶ 参数: - $source_dir (string) – 目录路径
- $include_path (bool) – 作为文件名的部分是否包含路径
返回: 文件名数组
返回类型: array
函数里取服务器路径输入并返回包含所有文件名的数组。设置第二参数为 TRUE 文件路径能很随意的被添加到文件名里。
例如:
$controllers = get_filenames(APPPATH.'controllers/');
-
get_dir_file_info
($source_dir, $top_level_only)¶ 参数: - $source_dir (string) – 目录路径
- $top_level_only (bool) – 是否仅仅查看特殊目录 (不包含子目录)
返回: 数组涵盖的信息在备用目录的内容中
返回类型: 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 路径
- $returned_values (array) – 任何返回的信息类型
返回: 在指定文件上的数组包含的信息或失效的 FALSE
返回类型: array
约定的文件和路径,文件返回(随意地) the name, path, size and date modified 属性信息。 第二参数允许你明确地声明任何你想返回的信息。
有效的
$returned_values
选项是: name, size, date, readable, writeable, executable 和 fileperms.
-
symbolic_permissions
($perms)¶ 参数: - $perms (int) – 权限
返回: 象征权限的 string
返回类型: string
抓取数值权限(就像是被
fileperms()
返回的)并且返回文件权限的标准符号记号。echo symbolic_permissions(fileperms('./index.php')); // -rw-r--r--
-
octal_permissions
($perms)¶ 参数: - $perms (int) – 权限
返回: 八进制权限的 string
返回类型: string
抓取数值权限(就像是被
fileperms()
返回的)并且返回文件权限的一个由三个字母组成的八进制记号。echo octal_permissions(fileperms('./index.php')); // 644
-
set_realpath
($path[, $check_existance = FALSE])¶ 参数: - $path (string) – 路径
- $check_existance (bool) – 如果路径确实存在是否要去检查
返回: 绝对路径
返回类型: string
函数会返回不带符号链接的服务器路径或者有关联的目录结构。 如果路径不能决定选项的次一级争议将触发一个错误。
例如:
$file = '/etc/php5/apache2/php.ini'; echo set_realpath($file); // 输出 '/etc/php5/apache2/php.ini' $non_existent_file = '/path/to/non-exist-file.txt'; echo set_realpath($non_existent_file, TRUE); // 显示错误,如同路径不能决定 echo set_realpath($non_existent_file, FALSE); // 输出 '/path/to/non-exist-file.txt' $directory = '/etc/php5'; echo set_realpath($directory); // 输出 '/etc/php5/' $non_existent_directory = '/path/to/nowhere'; echo set_realpath($non_existent_directory, TRUE); // 显示错误,如同路径不能决定 echo set_realpath($non_existent_directory, FALSE); // 输出 '/path/to/nowhere'