Showing posts with label PHP ftruncate. Show all posts
Showing posts with label PHP ftruncate. Show all posts

Saturday, 4 October 2014

ftruncate in PHP

ftruncate — Truncates a file to a given length
Syntax:

bool ftruncate ( resource $handle , int $size )
Takes the filepointer, handle, and truncates the file to length, size.

Parameters:

handle
The file pointer.

Note:
The handle must be open for writing.
size
The size to truncate to.

Note:
If size is larger than the file then the file is extended with null bytes.
If size is smaller than the file then the file is truncated to that size.
Return values: Returns TRUE on success or FALSE on failure.



Example #1 File truncation example

<?php
$filename = 'lorem_ipsum.txt';

$handle = fopen($filename, 'r+');
ftruncate($handle, rand(1, filesize($filename)));
rewind($handle);
echo fread($handle, filesize($filename));
fclose($handle);
?>


Note:
The file pointer is not changed.

fflush in PHP

fflush — Flushes the output to a file
Syntax:

bool fflush ( resource $handle )
This function forces a write of all buffered output to the resource pointed to by the file handle.

Parameters:

handle
The file pointer must be valid, and must point to a file successfully opened by fopen() or fsockopen() (and not yet closed by fclose()).

Return values: Returns TRUE on success or FALSE on failure.



Example #1 File write example using fflush()

<?php
$filename = 'bar.txt';

$file = fopen($filename, 'r+');
rewind($file);
fwrite($file, 'Foo');
fflush($file);
ftruncate($file, ftell($file));
fclose($file);
?>