Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP Filesystem ftruncate() Function



The PHP Filesystem ftruncate() function is used to truncate a file to a given length. It is commonly used to truncate, or shorten, a file to a given length. If the length provided exceeds the file's existing size, the file will be expanded and filled with null bytes.

If the length provided is less than or equal to the length, the file will be truncated, which means that any content that is longer will be removed.

Syntax

Below is the syntax of the PHP Filesystem ftruncate() function −

bool ftruncate ( resource $handle , int $size )

Parameters

Here are the required and optional parameters of the ftruncate() function −

Sr.No Parameter & Description
1

handle(Required)

It is the file pointer or handle returned by fopen() when opening the file.

2

size(Required)

It is the new size of the file.

Return Value

The function returns a boolean value: TRUE if the truncation was successful. FALSE if there was an error truncating the file.

PHP Version

The ftruncate() function was first introduced as part of core PHP 5 and work well with the PHP 7, PHP 8.

Example

In this example we have used the PHP Filesystem ftruncate() function to truncate a file. The code opens a file named "myfile.txt" in read/write mode, truncates it to 100 bytes, and then closes the file. Here is how we can do it in PHP −

<?php
   // Open the file in read/write mode
   $file = fopen("/PhpProjects/myfile.txt", "r+"); 
   if ($file) {
      // Truncate the file to 100 bytes
      if (ftruncate($file, 100)) {
         echo "The given file is truncated successfully";
      } else {
         echo "Error truncating file.";
      }
      fclose($file); // Close the file
   } else {
      echo "Error opening file.";
   }   
?>

Output

Here is the outcome of the following code −

The given file is truncated successfully

Example

This code opens a file named "myfile.txt" and truncates it to zero length using ftruncate(). Any content previously in the file will be removed effectively clearing it.

<?php
   // Open the file in read/write mode
   $file = fopen("/PhpProjects/myfile.txt", "r+"); 
   if ($file) {
      // Truncate the file to zero length
      if (ftruncate($file, 0)) { 
         echo "The given file is truncated successfully";
      } else {
         echo "Error truncating file.";
      }
      fclose($file); // Close the file
   } else {
      echo "Error opening file.";
   }
?> 

Output

This will produce the following result −

The given file is truncated successfully

Example

This example truncates a file using the ftruncate() function to the current position of the file pointer. The code opens a file and moves the file pointer to position 50 with the help of fseek(). And then truncates the file to the current position of the file pointer using ftruncate().

<?php
   $file = fopen("example.txt", "r+"); // Open the file 
   if ($file) {
      fseek($file, 50); // Move the file pointer to position 50
      if (ftruncate($file, ftell($file))) { // Truncate the file to current position
         echo "Truncated the file to current position.";
      } else {
         echo "Error truncating file.";
      }
      fclose($file); // Close the file
   } else {
      echo "Error opening file.";
   }
?> 

Output

This will generate the below result −

Truncated the file to current position.

Example

This example extends a file by appending 50 null bytes to it using ftruncate(), ftell() and fseek() functions. The ftell() method determine the current position.

<?php
   $file = fopen("example.txt", "r+"); // Open the file
   if ($file) {
      // Move the file pointer to position 100
      fseek($file, 100); 

      // Extend the file by 50 bytes
      if (ftruncate($file, ftell($file) + 50)) { 
         echo "File extended successfully.";
      } else {
         echo "Error extending file.";
      }
      fclose($file); // Close the file
   } else {
      echo "Error opening file.";
   }
?> 

Output

This will produce the below outcome −

File extended successfully.

Note

The file must be opened in a mode that allows both reading and writing (like "r+", "w+", or "a+") as ftruncate() function needs read and write access to the file.

Summary

The ftruncate() function is used to adjust the size of a file to a given length. It is mainly used to truncate (shorten) the size of a file or to extend the file by appending null bytes.

php_function_reference.htm
Advertisements