ftruncate()

1. 定义

把已打开的文件句柄截断为指定大小。成功时返回TRUE,失败时返回FALSE。

2. 语法

ftruncate ( resource $handle , int $size ) : bool

3. 参数说明

参数 可选性 数据类型 描述
$handle 必需 资源类型 文件句柄,通过fopen()函数打开的文件资源
$size 必需 整型 截断的字节数,如果该值大于文件大小,则后面的内容使用null补齐

4. 示例

<?php

// ftruncate()
// 把已打开的文件句柄截断为指定大小

file_put_contents(__DIR__.'/test.txt', "杭州极速互联科技有限公司成立于2013年,专注于为用户、企业提供便捷的手机互联网接入服务。公司产品有网尚实用查询、极速教程等,业务包含轻应用平台运营开发、手机APP开发、微信运营、数据服务,涵盖手机互联网的各个方面");

echo "\n指定文件大小为:".filesize(__DIR__.'/test.txt');// 输出:指定文件大小为:307

$handle = fopen(__DIR__.'/test.txt', 'w');
ftruncate($handle, 20);
fclose($handle);

clearstatcache();// 请注意一定使用该函数,否则显示的结果为之前缓存的结果

echo "\n被截断后的文件大小为:".filesize(__DIR__.'/test.txt');// 输出:被截断后的文件大小为:20

5. 延展阅读

  • fopen():打开一个指定的文件或 URL。 如果 PHP 的allow_url_fopen未被打开,那么打开一个 URL 时fopen()调用失败
  • fseek():重新定位文件指针,定位值从$whence开始,单位为字节数,可以定位至文件末尾之后