PHP Conference Japan 2024

文件系统函数

参见

有关相关函数,另请参见目录程序执行部分。

有关可用作远程文件的各种 URL 封装器的列表和说明,另请参见支持的协议和封装器

目录

  • basename — 返回路径的尾部名称组件
  • chgrp — 更改文件组
  • chmod — 更改文件模式
  • chown — 更改文件所有者
  • clearstatcache — 清除文件状态缓存
  • copy — 复制文件
  • delete — 请参见 unlink 或 unset
  • dirname — 返回父目录的路径
  • disk_free_space — 返回文件系统或磁盘分区上的可用空间
  • disk_total_space — 返回文件系统或磁盘分区的总大小
  • diskfreespace — disk_free_space 的别名
  • fclose — 关闭打开的文件指针
  • fdatasync — 将数据(但不包括元数据)同步到文件
  • feof — 测试文件指针上的文件结束符
  • fflush — 将输出刷新到文件
  • fgetc — 从文件指针获取字符
  • fgetcsv — 从文件指针获取行并解析为 CSV 字段
  • fgets — 从文件指针获取行
  • fgetss — 从文件指针获取行并去除 HTML 标签
  • file — 将整个文件读入数组
  • file_exists — 检查文件或目录是否存在
  • file_get_contents — 将整个文件读入字符串
  • file_put_contents — 将数据写入文件
  • fileatime — 获取文件的最后访问时间
  • filectime — 获取文件的 inode 更改时间
  • filegroup — 获取文件组
  • fileinode — 获取文件 inode
  • filemtime — 获取文件修改时间
  • fileowner — 获取文件所有者
  • fileperms — 获取文件权限
  • filesize — 获取文件大小
  • filetype — 获取文件类型
  • flock — 可移植的建议性文件锁定
  • fnmatch — 将文件名与模式匹配
  • fopen — 打开文件或 URL
  • fpassthru — 输出文件指针上所有剩余的数据
  • fputcsv — 将行格式化为 CSV 并写入文件指针
  • fputs — fwrite 的别名
  • fread — 二进制安全的文件读取
  • fscanf — 根据格式解析来自文件
  • fseek — 在文件指针上查找
  • fstat — 使用打开的文件指针获取有关文件的信息
  • fsync — 将更改同步到文件(包括元数据)
  • ftell — 返回文件读/写指针的当前位置
  • ftruncate — 将文件截断到给定长度
  • fwrite — 二进制安全的文件写入
  • glob — 查找与模式匹配的文件名
  • is_dir — 判断文件名是否为目录
  • is_executable — 判断文件名是否可执行
  • is_file — 判断文件名是否为普通文件
  • is_link — 判断文件名是否为符号链接
  • is_readable — 判断文件是否存在且是否可读
  • is_uploaded_file — 判断文件是否通过 HTTP POST 上传
  • is_writable — 判断文件名是否可写
  • is_writeable — is_writable 的别名
  • lchgrp — 更改符号链接的组所有权
  • lchown — 更改符号链接的用户所有权
  • link — 创建硬链接
  • linkinfo — 获取有关链接的信息
  • lstat — 提供有关文件或符号链接的信息
  • mkdir — 创建目录
  • move_uploaded_file — 将上传的文件移动到新位置
  • parse_ini_file — 解析配置文件
  • parse_ini_string — 解析配置字符串
  • pathinfo — 返回有关文件路径的信息
  • pclose — 关闭进程文件指针
  • popen — 打开进程文件指针
  • readfile — 输出文件
  • readlink — 返回符号链接的目标
  • realpath — 返回规范化的绝对路径名
  • realpath_cache_get — 获取 realpath 缓存条目
  • realpath_cache_size — 获取 realpath 缓存大小
  • rename — 重命名文件或目录
  • rewind — 倒回文件指针的位置
  • rmdir — 删除目录
  • set_file_buffer — stream_set_write_buffer 的别名
  • stat — 提供有关文件的信息
  • symlink — 创建符号链接
  • tempnam — 创建具有唯一文件名的文件
  • tmpfile — 创建临时文件
  • touch — 设置文件的访问和修改时间
  • umask — 更改当前 umask
  • unlink — 删除文件
添加注释

用户贡献的注释 2 条注释

66
Christian
17 年前
我刚刚了解到,要以可移植的方式指定文件名,您不需要“DIRECTORY_SEPARATOR” - 只需使用“/”。这确实让我感到惊讶和震惊,因为直到现在,我一直打了大约数百万次“DIRECTORY_SEPARATOR”来保持平台独立性 - 这是不必要的。不要犯同样的错误。
-2
tunnelareaten at gmail dot com
19 年前
我创建了这个函数来根据扩展名搜索和/或显示文件,或者在文件名中搜索字符串出现。当然,欢迎任何评论或增强功能。我很快就会更新此功能。



用法:list_files([字符串], [字符串], [整数 1 | 0], [整数 1 | 0]);

搜索扩展名:list_files([字符串], [字符串], [0], [整数 1 | 0]);
返回数组:$myArray = list_files([字符串], [字符串], [0], [0]);
输出结果:list_files([字符串], [字符串], [0], [1]);

搜索字符串出现次数:list_files([字符串], [字符串], [1], [整数 1 | 0]);
返回数组:$myArray = list_files([字符串], [字符串], [1], [0]);
输出结果:list_files([字符串], [字符串], [1], [1]);

<?php

function list_files($directory, $stringSearch, $searchHandler, $outputHandler) {
$errorHandler = false;
$result = array();
if (!
$directoryHandler = @opendir ($directory)) {
echo (
"<pre>\n错误:目录 \"$directory\" 不存在!\n</pre>\n");
return
$errorHandler = true;
}
if (
$searchHandler === 0) {
while (
false !== ($fileName = @readdir ($directoryHandler))) {
if(@
substr ($fileName, - @strlen ($stringSearch)) === $stringSearch) {
@
array_push ($result, $fileName);
}
}
}
if (
$searchHandler === 1) {
while(
false !== ($fileName = @readdir ($directoryHandler))) {
if(@
substr_count ($fileName, $stringSearch) > 0) {
@
array_push ($result, $fileName);
}
}
}
if ((
$errorHandler === true) && (@count ($result) === 0)) {
echo (
"<pre>\n错误:未找到文件类型 \"$fileExtension\"!\n</pre>\n");
}
else {
sort ($result);
if (
$outputHandler === 0) {
return
$result;
}
if (
$outputHandler === 1) {
echo (
"<pre>\n");
print_r ($result);
echo (
"</pre>\n");
}
}
}

?>
To Top