SplFileObject::ftruncate

(PHP 5 >= 5.1.0)

SplFileObject::ftruncateTruncates the file to a given length

Beskrivelse

public bool SplFileObject::ftruncate ( int $size )

Truncates the file to size bytes.

Parametre

size

The size to truncate to.

Note:

If size is larger than the file it is extended with null bytes.

If size is smaller than the file, the extra data will be lost.

Returnerings Værdier

Returns TRUE on success or FALSE on failure.

Eksempler

Eksempel #1 SplFileObject::ftruncate() example

<?php
// Create file containing "Hello World!"
$file = new SplFileObject("/tmp/ftruncate""w+");
$file->fwrite("Hello World!");

// Truncate to 5 bytes
$file->ftruncate(5);

// Rewind and read data
$file->rewind();
echo 
$file->fgets();
?>

The above example will output something similar to:

Hello

Se også

add a note add a note

User Contributed Notes 1 note

up
1
irvinezega at hotmail dot com
5 years ago
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.
To Top