文件打开和关闭
fopen($filename, $mode): 打开文件或 URL。
参数:
$filename(string): 要打开的文件名或 URL。$mode(string): 打开文件的模式,例如'r'(只读),'w'(只写),'a'(追加),'r+'(读写),'w+'(读写,文件会被清空),'a+'(读写,文件会被创建或追加)。
返回值:
- 成功时,返回一个文件指针资源;失败时,返回
false。
fclose($handle): 关闭打开的文件指针。
参数:
$handle(resource): 文件指针,通常是fopen()返回的句柄。
返回值:
- 成功时返回
true;失败时返回false。
$handle = fopen('example.txt', 'r'); // 以只读模式打开文件
if ($handle) {
// 文件操作
fclose($handle); // 关闭文件
}
文件读取
fread($handle, $length): 读取文件内容。
参数:
$handle: 文件指针资源。$length: 要读取的字节数。
返回值:
- 读取到的数据;如果到达文件末尾或出错则返回
false。
<?php
$handle = fopen('example.txt', 'r');
if ($handle) {
$contents = fread($handle, filesize('example.txt'));
fclose($handle);
echo $contents;
}
?>
fgets($handle, $length): 读取文件的一行。
参数:
$handle: 文件指针资源。$length: 要读取的最大字节数。
返回值:
- 读取到的行;如果到达文件末尾则返回
false。
file_get_contents($filename): 读取整个文件的内容到一个字符串中。
参数:
$filename: 文件名。
返回值:
- 文件内容的字符串;失败时返回
false。
file($filename): 读取文件到数组中,每一行作为一个数组元素。
参数:
$filename: 文件名。$flags: 可选标志,常用FILE_SKIP_EMPTY_LINES跳过空行。
返回值:
- 包含文件每一行的数组;失败时返回
false。
文件操作
fwrite($handle, $string): 写入数据到文件。
参数:
$handle: 文件指针资源。$length: 要写入的字符串。
返回值:
- 成功时返回写入的字节数;失败时返回
false。
file_put_contents($filename, $data): 将数据写入文件,如果文件不存在则创建文件。
参数:
$filename: 文件名。$data: 要写入的数据。$flags: 可选标志,常用FILE_APPEND追加到文件末尾。
返回值:
- 成功时返回写入的字节数;失败时返回
false。
unlink($filename): 删除文件。
参数:
$filename: 要删除的文件名。
返回值:
- 成功时返回
true;失败时返回false。
copy($source, $dest): 复制文件。
rename($oldname, $newname): 重命名或移动文件。
参数:
$oldname: 原文件名。$newname: 新文件名。
返回值:
- 成功时返回
true;失败时返回false。
文件信息
filesize($filename): 获取文件的大小。
filemtime($filename): 获取文件的最后修改时间。
file_exists($filename): 检查文件是否存在。
is_file($filename): 检查路径是否为文件。
is_dir($dirname): 检查路径是否为目录。
文件权限
chmod($filename, $mode): 改变文件权限。
chown($filename, $user): 更改文件所有者(需要管理员权限)。
chgrp($filename, $group): 更改文件所属组(需要管理员权限)。
目录操作
opendir($dirname): 打开目录句柄。
参数:
$dirname: 要打开的目录路径。
返回值:
- 成功时返回目录句柄;失败时返回
false。
<?php
$handle = opendir('some_directory');
if ($handle) {
while (($file = readdir($handle)) !== false) {
echo $file . '<br>';
}
closedir($handle);
}
?>
readdir($handle): 读取目录中的条目。
参数:
$handle: 目录句柄。
返回值:
- 目录中的文件名;如果没有更多条目则返回
false。
closedir($handle): 关闭目录句柄。
mkdir(): 创建目录
参数:
$pathname: 要创建的目录路径。$mode: 权限,默认为0777。$recursive: 是否递归创建目录,默认为false。
返回值:
- 成功时返回
true;失败时返回false。
rmdir(): 删除目录
参数:
$dirname: 要删除的目录路径。
返回值:
- 成功时返回
true;失败时返回false。