SplFileObject::ftruncate

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::ftruncate Обрезает файл до заданной длины

Описание

public bool SplFileObject::ftruncate ( int $size )

Отбрасывает все данные в файле после байта size.

Список параметров

size

Размер, под который требуется подогнать файл.

Замечание:

Если size больше текущего размера файла, в конец будут добавлены нуль-байты.

Если size меньше размера файла, лишние данные будут утеряны.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования SplFileObject::ftruncate()

<?php
// Создаем файл, содержащий "Hello World!"
$file = new SplFileObject("/tmp/ftruncate""w+");
$file->fwrite("Hello World!");

// укорачиваем до 5 байт
$file->ftruncate(5);

// возвращаемся к началу файла и читаем данные
$file->rewind();
echo 
$file->fgets();
?>

Результатом выполнения данного примера будет что-то подобное:

Hello

Смотрите также

  • ftruncate() - Урезает файл до указанной длинны

Коментарии

I suppose a fair number of us know this: 

However, for those who don't:- 

If you are truncating a file, say, to $fileObject->ftruncate(0), then, it may be advisable to call $fileObject->fseek(0) first (before you call '$fileObject->ftruncate'). 

On inspection, I was encountering 'NULL' characters at the beginning of a, or the, file. 

Hence, from what I have surmised; when 'ftruncate()' is called, the file pointer does NOT move to the beginning (or, at least, the required position) of the file.

This issue cost me a fair amount of time to figure out, so I hope it helps someone.
2018-08-22 08:53:42
http://php5.kiev.ua/manual/ru/splfileobject.ftruncate.html

    Поддержать сайт на родительском проекте КГБ