FTRUNCATE(3) 1 FTRUNCATE(3)ftruncate - Truncates a file to a given lengthSYNOPSIS
bool ftruncate (resource $handle, int $size)
DESCRIPTION
Takes the filepointer, $handle, and truncates the file to length, $size.
PARAMETERS
o $handle
- The file pointer.
Note
The $handle must be open for writing.
o $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.
EXAMPLES
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);
?>
NOTES
Note
The file pointer is not changed.
SEE ALSO fopen(3), fseek(3).
PHP Documentation Group FTRUNCATE(3)
Check Out this Related Man Page
FWRITE(3) 1 FWRITE(3)fwrite - Binary-safe file writeSYNOPSIS
int fwrite (resource $handle, string $string, [int $length])
DESCRIPTION fwrite(3) writes the contents of $string to the file stream pointed to by $handle.
PARAMETERS
o $handle
-A file system pointer resource that is typically created using fopen(3).
o $string
- The string that is to be written.
o $length
- If the $length argument is given, writing will stop after $length bytes have been written or the end of $string is reached,
whichever comes first. Note that if the $length argument is given, then the magic_quotes_runtime configuration option will be
ignored and no slashes will be stripped from $string.
RETURN VALUES fwrite(3) returns the number of bytes written, or FALSE on error.
NOTES
Note
Writing to a network stream may end before the whole string is written. Return value of fwrite(3) may be checked:
<?php
function fwrite_stream($fp, $string) {
for ($written = 0; $written < strlen($string); $written += $fwrite) {
$fwrite = fwrite($fp, substr($string, $written));
if ($fwrite === false) {
return $written;
}
}
return $written;
}
?>
Note
On systems which differentiate between binary and text files (i.e. Windows) the file must be opened with 'b' included in fopen(3)
mode parameter.
Note
If $handle was fopen(3)ed in append mode, fwrite(3)s are atomic (unless the size of $string exceeds the filesystem's block size, on
some platforms, and as long as the file is on a local filesystem). That is, there is no need to flock(3) a resource before calling
fwrite(3); all of the data will be written without interruption.
Note
If writing twice to the file pointer, then the data will be appended to the end of the file content:
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);
// the content of 'data.txt' is now 123 and not 23!
?>
EXAMPLES
Example #1
A simple fwrite(3) example
<?php
$filename = 'test.txt';
$somecontent = "Add this to the file
";
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote ($somecontent) to file ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
SEE ALSO fread(3), fopen(3), fsockopen(3), popen(3), file_get_contents(3).
PHP Documentation Group FWRITE(3)