- basename - 返回路径中的文件名部分
- chgrp - 改变文件所属的组
- chmod - 改变文件模式
- chown - 改变文件的所有者
- clearstatcache - 清除文件状态缓存
- copy - 拷贝文件
- dirname - 返回路径中的目录部分
- disk_free_space - 返回目录中的可用空间
- disk_total_space - 返回一个目录的磁盘总大小
- diskfreespace - 返回目录中的可用空间
- fclose - 关闭一个已打开的文件指针
- feof - 测试文件指针是否到了文件结束的位置
- fflush - 将缓冲内容输出到文件
- fgetc - 从文件指针中读取字符
- fgetcsv - 从文件指针中读入一行并解析 CSV 字段
- fgets - 从文件指针中读取一行
- file_exists - 检查文件或目录是否存在
- file_get_contents - 将整个文件读入一个字符串
- file_put_contents - 将一个字符串写入文件
- file - 把整个文件读入一个数组中
- fileatime - 取得文件的上次访问时间
- filectime - 取得文件的 inode 修改时间
- filegroup - 取得文件的组
- fileinode - 取得文件的 inode
- filemtime - 取得文件修改时间
- fileowner - 取得文件的所有者
- fileperms - 取得文件的权限
- filesize - 取得文件大小
- filetype - 取得文件类型
- flock - 轻便的咨询文件锁定
- fnmatch - 用模式匹配文件名
- fopen - 打开文件或者 URL
- fpassthru - 输出文件指针处的所有剩余数据
- fputcsv - 将行格式化为 CSV 并写入文件指针
- fputs - 写入文件(可安全用于二进制文件)
- fread - 读取文件(可安全用于二进制文件)
- fscanf - 从文件中格式化输入
- fseek - 在文件指针中定位
- fstat - 通过已打开的文件指针取得文件信息
- ftell - 返回文件指针读 / 写的位置
- ftruncate - 将文件截断到给定的长度
- fwrite - 写入文件(可安全用于二进制文件)
- glob - 寻找与模式匹配的文件路径
- is_dir - 判断给定文件名是否是一个目录
- is_executable - 判断给定文件名是否可执行
- is_file - 判断给定文件名是否为一个正常的文件
- is_link - 判断给定文件名是否为一个符号连接
- is_readable - 判断给定文件名是否可读
- is_uploaded_file - 判断文件是否是通过 HTTP POST 上传的
- is_writable - 判断给定的文件名是否可写
- is_writeable - 判断给定的文件名是否可写
- lchgrp - 修改符号链接的所有组
- lchown - 修改符号链接的所有者
- link - 建立一个硬连接
- linkinfo - 获取一个连接的信息
- lstat - 给出一个文件或符号连接的信息
- mkdir - 新建目录
- move_uploaded_file - 将上传的文件移动到新位置
- parse_ini_file - 解析一个配置文件
- parse_ini_string - 解析配置字符串
- pathinfo - 返回文件路径的信息
- pclose - 关闭进程文件指针
- popen - 打开进程文件指针
- readfile - 输出文件
- readlink - 返回符号连接指向的目标
- realpath_cache_get - 获取真实目录缓存的详情
- realpath_cache_size - 获取真实路径缓冲区的大小
- realpath - 返回规范化的绝对路径名
- rename - 重命名一个文件或目录
- rewind - 倒回文件指针的位置
- rmdir - 删除目录
- set_file_buffer - 设置给定流上的写文件缓冲
- stat - 给出文件的信息
- symlink - 建立符号连接
- tempnam - 建立一个具有唯一文件名的文件
- tmpfile - 建立一个临时文件
- touch - 设定文件的访问和修改时间
- umask - 改变当前的 umask
- unlink - 删除文件
<?php
var_dump(basename('foo/bar')); // string(3) "bar"
var_dump(basename('/foo/bar/')); // string(3) "bar"
var_dump(basename('/foo/bar.txt')); // string(7) "bar.txt"
var_dump(basename('/foo/bar/baz.txt', '.txt')); // string(3) "baz"
var_dump(basename('/foo/')); // string(3) "foo"
var_dump(basename('/')); // string(0) ""
var_dump(basename('.')); // string(1) "."
<?php
var_dump(chgrp(__FILE__, 0));
<?php
var_dump(chmod(__FILE__, 0000));
var_dump(chmod(__FILE__, 0421));
var_dump(chmod(__FILE__, 0655));
var_dump(chmod(__FILE__, 0777));
<?php
var_dump(chown(__FILE__, 0));
<?php
clearstatcache();
clearstatcache(true);
clearstatcache(true, __FILE__);
<?php
var_dump(copy(__DIR__ . '/foo.txt', __DIR__ . '/bar.txt'));
<?php
var_dump(dirname('foo/bar')); // string(3) "foo"
var_dump(dirname('/foo/bar/')); // string(4) "/foo"
var_dump(dirname('/foo/bar.txt')); // string(4) "/foo"
var_dump(dirname('/foo/bar/baz.txt', 2)); // string(4) "/foo"
var_dump(dirname('/foo/')); // string(1) "\"
var_dump(dirname('/')); // string(1) "\"
var_dump(dirname('.')); // string(1) "."
<?php
var_dump(disk_free_space('/'));
var_dump(disk_free_space('C:'));
<?php
var_dump(disk_total_space('/'));
var_dump(disk_total_space('C:'));
<?php
var_dump(diskfreespace('/'));
var_dump(diskfreespace('C:'));
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
var_dump(fclose($handle)); // bool(true)
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
var_dump(feof($handle)); // bool(false)
while (fgets($handle) !== false) {
}
var_dump(feof($handle)); // bool(true)
<?php
$handle = fopen(__DIR__ . '/example.txt', 'w');
fwrite($handle, 'foo');
var_dump(fflush($handle)); // bool(true)
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
while (($character = fgetc($handle)) !== false) {
var_dump($character);
}
// string(1) "0"
// string(1) "0"
// string(1) "0"
上例中的 example.txt
文件内容:
000
<?php
$handle = fopen(__DIR__ . '/example.csv', 'r');
while (($data = fgetcsv($handle)) !== false) {
var_dump($data);
}
// array(2) { [0]=> string(3) "foo" [1]=> string(3) "bar" }
// array(2) { [0]=> string(3) "baz" [1]=> string(3) "qux" }
rewind($handle);
while (($data = fgetcsv($handle, 1024, ',')) !== false) {
var_dump($data);
}
// array(2) { [0]=> string(3) "foo" [1]=> string(3) "bar" }
// array(2) { [0]=> string(3) "baz" [1]=> string(3) "qux" }
上例中的 example.csv
文件内容:
foo,bar
baz,qux
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
while (($data = fgets($handle)) !== false) {
var_dump(trim($data));
}
// string(3) "foo"
// string(3) "bar"
rewind($handle);
while (($data = fgets($handle, 1024)) !== false) {
var_dump(trim($data));
}
// string(3) "foo"
// string(3) "bar"
上例中的 example.txt
文件内容:
foo
bar
<?php
var_dump(file_exists(__DIR__));
var_dump(file_exists(__DIR__ . '/example.txt'));
<?php
var_dump(file_get_contents('https://github.com/'));
var_dump(file_get_contents(__DIR__ . '/example.txt'));
var_dump(file_get_contents(__DIR__ . '/example.txt', true));
var_dump(file_get_contents(__DIR__ . '/example.txt', true, null, 1, 2));
<?php
var_dump(file_put_contents(__DIR__ . '/example.txt', 'Hello World!'));
var_dump(file_put_contents(__DIR__ . '/example.txt', 'Hello World!', FILE_USE_INCLUDE_PATH));
var_dump(file_put_contents(__DIR__ . '/example.txt', 'Hello World!', FILE_APPEND));
var_dump(file_put_contents(__DIR__ . '/example.txt', 'Hello World!', LOCK_EX));
<?php
var_dump(file(__DIR__ . '/example.txt')); // array(4) { [0]=> string(5) "foo " [1]=> string(5) "bar " [2]=> string(5) "baz " [3]=> string(3) "qux" }
var_dump(file(__DIR__ . '/example.txt', FILE_USE_INCLUDE_PATH)); // array(4) { [0]=> string(5) "foo " [1]=> string(5) "bar " [2]=> string(5) "baz " [3]=> string(3) "qux" }
var_dump(file(__DIR__ . '/example.txt', FILE_IGNORE_NEW_LINES)); // array(4) { [0]=> string(3) "foo" [1]=> string(3) "bar" [2]=> string(3) "baz" [3]=> string(3) "qux" }
var_dump(file(__DIR__ . '/example.txt', FILE_SKIP_EMPTY_LINES)); // array(4) { [0]=> string(5) "foo " [1]=> string(5) "bar " [2]=> string(5) "baz " [3]=> string(3) "qux" }
上例中的 example.txt
文件内容:
foo
bar
baz
qux
<?php
var_dump(fileatime(__DIR__ . '/example.txt'));
<?php
var_dump(filectime(__DIR__ . '/example.txt'));
<?php
var_dump(filegroup(__DIR__ . '/example.txt'));
<?php
var_dump(fileinode(__DIR__ . '/example.txt'));
<?php
var_dump(filemtime(__DIR__ . '/example.txt'));
<?php
var_dump(fileowner(__DIR__ . '/example.txt'));
<?php
var_dump(fileperms(__DIR__ . '/example.txt'));
<?php
var_dump(filesize(__DIR__ . '/example.txt'));
<?php
var_dump(filetype(__DIR__)); // string(3) "dir"
var_dump(filetype(__DIR__ . '/example.txt')); // string(4) "file"
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
var_dump(flock($handle, LOCK_SH)); // bool(true)
var_dump(flock($handle, LOCK_EX)); // bool(true)
var_dump(flock($handle, LOCK_UN)); // bool(true)
<?php
var_dump(fnmatch('*f[a-z]o', 'foo')); // bool(true)
<?php
var_dump(fopen(__DIR__ . '/example.txt', 'r'));
var_dump(fopen(__DIR__ . '/example.txt', 'r', true));
var_dump(fopen(__DIR__ . '/example.txt', 'r+'));
var_dump(fopen(__DIR__ . '/example.txt', 'w'));
var_dump(fopen(__DIR__ . '/example.txt', 'w+'));
var_dump(fopen(__DIR__ . '/example.txt', 'a'));
var_dump(fopen(__DIR__ . '/example.txt', 'a+'));
var_dump(fopen(__DIR__ . '/example.txt', 'x'));
var_dump(fopen(__DIR__ . '/example.txt', 'x+'));
var_dump(fopen(__DIR__ . '/example.txt', 'c'));
var_dump(fopen(__DIR__ . '/example.txt', 'c+'));
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
fpassthru($handle);
// foo
// bar
// baz
// qux
上例中的 example.txt
文件内容:
foo
bar
baz
qux
<?php
$data = [['foo', 'bar'], ['baz', 'qux']];
$handle = fopen(__DIR__ . '/example.csv', 'w');
foreach ($data as $value) {
fputcsv($handle, $value);
}
上例中的 example.csv
文件内容:
foo,bar
baz,qux
<?php
$data = [['foo', 'bar'], ['baz', 'qux']];
$handle = fopen(__DIR__ . '/example.csv', 'w');
foreach ($data as $value) {
fputcsv($handle, $value, ';');
}
上例中的 example.csv
文件内容:
foo;bar
baz;qux
<?php
$handle = fopen(__DIR__ . '/example.txt', 'w');
var_dump(fputs($handle, 'foo')); // int(3)
上例中的 example.txt
文件内容:
foo
<?php
$handle = fopen(__DIR__ . '/example.txt', 'w');
var_dump(fputs($handle, 'foo', 1)); // int(1)
上例中的 example.txt
文件内容:
f
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
var_dump(fread($handle, filesize(__DIR__ . '/example.txt'))); // string(3) "foo"
rewind($handle);
while (!feof($handle)) {
var_dump(fread($handle, 1));
}
// string(1) "f"
// string(1) "o"
// string(1) "o"
// string(0) ""
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
var_dump(fscanf($handle, 'foo=%s bar=%s')); // array(2) { [0]=> string(3) "foo" [1]=> string(3) "bar" }
上例中的 example.txt
文件内容:
foo=foo bar=bar
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
var_dump(fseek($handle, 1)); // int(0)
var_dump(fgets($handle)); // string(2) "oo"
var_dump(fseek($handle, 0, SEEK_SET)); // int(0)
var_dump(fgets($handle)); // string(3) "foo"
rewind($handle);
var_dump(fseek($handle, 2, SEEK_CUR)); // int(0)
var_dump(fgets($handle)); // string(1) "o"
rewind($handle);
var_dump(fseek($handle, -1, SEEK_END)); // int(0)
var_dump(fgets($handle)); // string(1) "o"
上例中的 example.txt
文件内容:
foo
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
var_dump(fstat($handle));
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r');
var_dump(ftell($handle)); // int(0)
var_dump(fgets($handle)); // string(3) "foo"
var_dump(ftell($handle)); // int(3)
上例中的 example.txt
文件内容:
foo
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r+');
var_dump(ftruncate($handle, 1)); // bool(true)
上例中的 example.txt
文件内容:
foo
<?php
$handle = fopen(__DIR__ . '/example.txt', 'w');
var_dump(fwrite($handle, 'foo')); // int(3)
上例中的 example.txt
文件内容:
foo
<?php
$handle = fopen(__DIR__ . '/example.txt', 'w');
var_dump(fwrite($handle, 'foo', 1)); // int(1)
上例中的 example.txt
文件内容:
f
<?php
var_dump(glob('*.php'));
var_dump(glob('*.php', GLOB_MARK));
var_dump(glob('*.php', GLOB_NOSORT));
var_dump(glob('*.php', GLOB_NOCHECK));
var_dump(glob('*.php', GLOB_NOESCAPE));
var_dump(glob('*.php', GLOB_BRACE));
var_dump(glob('*.php', GLOB_ONLYDIR));
var_dump(glob('*.php', GLOB_ERR));
<?php
var_dump(is_dir(__FILE__)); // bool(false)
var_dump(is_dir(__DIR__)); // bool(true)
var_dump(is_dir('.')); // bool(true)
var_dump(is_dir('..')); // bool(true)
<?php
var_dump(is_executable(__FILE__));
var_dump(is_executable(__DIR__ . '/example.txt'));
<?php
var_dump(is_file(__FILE__)); // bool(true)
var_dump(is_file(__DIR__)); // bool(false)
var_dump(is_file(__DIR__ . '/example.txt')); // bool(true)
var_dump(is_file('.')); // bool(false)
var_dump(is_file('..')); // bool(false)
<?php
var_dump(is_link(__DIR__ . '/link'));
var_dump(is_link(__FILE__));
<?php
var_dump(is_readable(__DIR__));
var_dump(is_readable(__DIR__ . '/example.txt'));
var_dump(is_readable(__FILE__));
<?php
var_dump(is_uploaded_file($_FILES['file']['tmp_name']));
<?php
var_dump(is_writable(__DIR__ . '/example.txt'));
var_dump(is_writable(__FILE__));
<?php
var_dump(is_writeable(__DIR__ . '/example.txt'));
var_dump(is_writeable(__FILE__));
<?php
var_dump(lchgrp(__DIR__ . '/link', 0));
<?php
var_dump(lchown(__DIR__ . '/link', 0));
<?php
var_dump(link(__DIR__ . '/example.txt', __DIR__ . '/link'));
<?php
var_dump(linkinfo(__DIR__ . '/link'));
<?php
var_dump(lstat(__FILE__));
var_dump(lstat(__DIR__ . '/link'));
<?php
var_dump(mkdir(__DIR__ . '/example/'));
var_dump(mkdir(__DIR__ . '/example/', 0777));
var_dump(mkdir(__DIR__ . '/example/foo/bar/', 0777, true));
<?php
var_dump(move_uploaded_file($_FILES['file']['tmp_name'], __DIR__ . '/' . $_FILES['file']['name']));
<?php
var_dump(parse_ini_file(php_ini_loaded_file()));
var_dump(parse_ini_file(php_ini_loaded_file(), true));
<?php
$string = <<<EOT
[foo]
a = 1
b = 5
[bar]
c = BIRD
d = "http://www.example.com/~username"
[baz]
e[] = "7.0"
e[] = "7.4"
EOT;
var_dump(parse_ini_string($string)); // array(5) { ["a"]=> string(1) "1" ["b"]=> string(1) "5" ["c"]=> string(4) "BIRD" ["d"]=> string(32) "http://www.example.com/~username" ["e"]=> array(2) { [0]=> string(3) "7.0" [1]=> string(3) "7.4" } }
var_dump(parse_ini_string($string, true)); // array(3) { ["foo"]=> array(2) { ["a"]=> string(1) "1" ["b"]=> string(1) "5" } ["bar"]=> array(2) { ["c"]=> string(4) "BIRD" ["d"]=> string(32) "http://www.example.com/~username" } ["baz"]=> array(1) { ["e"]=> array(2) { [0]=> string(3) "7.0" [1]=> string(3) "7.4" } } }
<?php
var_dump(pathinfo(__FILE__));
var_dump(pathinfo(__FILE__, PATHINFO_DIRNAME));
var_dump(pathinfo(__FILE__, PATHINFO_BASENAME));
var_dump(pathinfo(__FILE__, PATHINFO_EXTENSION));
var_dump(pathinfo(__FILE__, PATHINFO_FILENAME));
<?php
$handle = popen('dir', 'r');
var_dump(pclose($handle));
<?php
var_dump(popen('dir', 'r'));
<?php
readfile(__DIR__ . '/example.txt');
// foo
// bar
// baz
// qux
readfile(__DIR__ . '/example.txt', true);
// foo
// bar
// baz
// qux
上例中的 example.txt
文件内容:
foo
bar
baz
qux
<?php
var_dump(readlink(__DIR__ . '/link'));
<?php
var_dump(realpath_cache_get());
<?php
var_dump(realpath_cache_size());
<?php
var_dump(realpath('example.txt'));
var_dump(realpath(__DIR__));
var_dump(realpath(__DIR__ . '/example.txt'));
var_dump(realpath(__FILE__));
<?php
var_dump(rename(__DIR__ . '/example.txt', __DIR__ . '/test.txt')); // bool(true)
var_dump(rename(__DIR__ . '/example/', __DIR__ . '/test/')); // bool(true)
<?php
$handle = fopen(__DIR__ . '/example.txt', 'r+');
fwrite($handle, 'bar baz qux');
var_dump(rewind($handle)); // bool(true)
fwrite($handle, 'foo');
var_dump(rewind($handle)); // bool(true)
var_dump(fread($handle, filesize(__DIR__ . '/example.txt'))); // string(11) "foo baz qux"
<?php
var_dump(rmdir(__DIR__ . '/example/'));
<?php
var_dump(set_file_buffer(fopen(__DIR__ . '/example.txt', 'w'), 0));
<?php
var_dump(stat(__FILE__));
<?php
var_dump(symlink(__DIR__ . '/example.txt', __DIR__ . '/link'));
<?php
var_dump(tempnam(__DIR__, 'tmp'));
<?php
var_dump(tmpfile());
<?php
var_dump(touch(__DIR__ . '/example.txt'));
var_dump(touch(__DIR__ . '/example.txt', time()));
var_dump(touch(__DIR__ . '/example.txt', time(), time()));
<?php
var_dump(umask());
var_dump(umask(0777));
<?php
var_dump(unlink(__DIR__ . '/example.txt'));