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)

如果文本中包含中文,可能出現亂碼。

rss_feed