函数名称:SplFileObject::ftruncate()
适用版本:PHP 5 >= 5.1.0, PHP 7
函数描述:SplFileObject::ftruncate() 方法用于截断文件到指定的长度。
语法:public SplFileObject::ftruncate(int $size) : bool
参数:
- $size:要截断文件的长度,以字节为单位。
返回值:
- 如果成功截断文件,则返回 true,否则返回 false。
示例:
$file = new SplFileObject('example.txt', 'w+');
// 写入内容到文件
$file->fwrite("Hello, World!");
// 获取文件大小
$size = $file->getSize();
echo "文件大小:{$size} 字节" . PHP_EOL; // 输出:文件大小:13 字节
// 截断文件到指定长度
$file->ftruncate(5);
// 获取截断后的文件大小
$truncatedSize = $file->getSize();
echo "截断后的文件大小:{$truncatedSize} 字节" . PHP_EOL; // 输出:截断后的文件大小:5 字节
// 读取截断后的内容
$file->rewind();
$content = $file->fread($truncatedSize);
echo "截断后的内容:{$content}" . PHP_EOL; // 输出:截断后的内容:Hello
// 关闭文件
$file = null;
在上面的示例中,我们使用了 SplFileObject 类来打开一个名为 "example.txt" 的文件。然后,我们使用 fwrite() 方法将内容写入文件,并使用 getSize() 方法获取文件的大小。接下来,我们使用 ftruncate() 方法将文件截断到指定的长度(5 字节),并再次使用 getSize() 方法获取截断后的文件大小。最后,我们使用 fread() 方法读取截断后的内容,并输出到屏幕上。最后,我们关闭了文件。
请注意,使用 ftruncate() 方法时,需要确保文件已以可写模式打开(例如,使用 'w+' 模式)。