PHP | ftruncate 函数
怎样截取文件
最近更新时间 2021-01-18 18:43:57
ftruncate 函数将文件截断到给定的长度。
ftruncate() 函数接收两个参数。并将文件大小截取为 size。成功则返回 true。打开的文件需要有写权限,否则返回 false。
函数定义
ftruncate ( resource $handle , int $size ) : bool
// 源文件位于:ext/standard/file.c
# 函数定义
PHP_FUNCTION(ftruncate)
{
...
if (size < 0) {
zend_argument_value_error(2, "must be greater than or equal to 0");
RETURN_THROWS();
}
PHP_STREAM_TO_ZVAL(stream, fp);
if (!php_stream_truncate_supported(stream)) {
php_error_docref(NULL, E_WARNING, "Can't truncate this stream!");
RETURN_FALSE;
}
RETURN_BOOL(0 == php_stream_truncate_set_size(stream, size));
}
参数
- checkhandle - 文件指针。
- checksize - 截取的长度。
返回值
- checkbool - 成功时返回 true, 或者在失败时返回 false。
示例1: - 使用 ftruncate() 函数截断文件到给定的长度。
<?php
/**
* PHP ftruncate() 函数截断文件到给定的长度。
*
* @since Version 1.0.0
* @filesource
*/
// 打开文件
$fileName = 'foo.txt';
$handle = fopen($fileName, 'r+');
// 截取到2个字符
$ret = ftruncate($handle, 3);
var_dump($ret);
// 关闭文件
fclose($handle);
bool(true)
如果文本中包含中文,可能出现乱码。