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

PHP Filesystem pclose() Function



The PHP Filesystem pclose() function is used to close a pipe opened by popen(), and return the termination status of the process that runs. In case of an error, -1 can return.

Syntax

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

int pclose ( resource $handle )

Parameters

Below is the only required parameter of the pclose() function −

Sr.No Parameter & Description
1

$handle(Required)

It is the file pointer must be valid and return from a successful call to popen().

Return Value

The function pclose() returns the ending status of the operation that was initiated. In the event of an error, -1 is returned.

PHP Version

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

Example

Here is the basic example to see how the PHP Filesystem pclose() function is used to close a pipe opened by popen() function.

<?php
   //Open a pipe
   $handle = popen("/bin/ls", "r");

   //Execution of some code

   //Close the pipe
   pclose($handle);
?>

Output

Here is the outcome of the following code −

ls: stdout: Broken pipe

Example

Here is the another example to show the usage of pclose() function to close a pipe opened by the popen() and list all the files and directories present in the mentioned pipe.

<?php
   // Open a pipe
   $handle = popen("/bin/ls", "r");

   if ($handle) {
      // Read the output from the pipe
      while (($line = fgets($handle)) !== false) {
         echo $line;
      }

      // Close the pipe
      pclose($handle);
   } else {
      echo "Unable to open the pipe.";
   }
?> 

Output

This will produce the following result −

config.php
csvfile.csv
data.csv
documents
error_log.log
image.jpg
images
index.php
logo.gif
logs
myfile.txt
new dir
newfile.php
sample.txt
uploads

Example

Here is one more example to know the usage of pclose() function. So in this example we will check the disk space using the df command.

The command '/bin/df -h' is used in Unix operating systems. So /bin/df is the path to the df command, so df means "disk free." It basically shows the amount of disk space available on the file system. And -h is used to convert the output in human readable format.

<?php
   // Open a pipe to check disk usage
   $handle = popen("/bin/df -h", "r");

   if ($handle) {
      // Read the output from the pipe
      while (($line = fgets($handle)) !== false) {
         echo $line;
      }

      // Close the pipe
      pclose($handle);
   } else {
      echo "We are unable to open the pipe.";
   }
?> 

Output

This will generate the below output −

Filesystem        Size    Used   Avail Capacity iused ifree %iused  Mounted on
/dev/disk3s1s1   228Gi   9.6Gi   123Gi     8%    404k  1.3G    0%   /
devfs            198Ki   198Ki     0Bi   100%     686     0  100%   /dev
/dev/disk3s6     228Gi    20Ki   123Gi     1%       0  1.3G    0%   /System/Volumes/VM

Example

In this example we will check the current date and time with the help of date command and close the pipe using the pclose() function

<?php
   // Open a pipe to display the date and time
   $handle = popen("/bin/date", "r");

   if ($handle) {
      // Read the output from the pipe
      while (($line = fgets($handle)) !== false) {
         echo $line;
      }

      // Close the pipe
      pclose($handle);
   } else {
      echo "We are unable to open the pipe.";
   }
?> 

Output

This will lead to the below output −

Mon Jun 24 14:39:11 IST 2024

Summary

The pclose() method is a built-in function to close an opened pipe. The popen function creates a pipe to execute a system command, fgets reads the output, and pclose closes the pipe when the reading is finished. This is a standard method for communicating with system commands in PHP.

php_function_reference.htm
Advertisements