
- PHP - Home
- PHP - Roadmap
- PHP - Introduction
- PHP - Installation
- PHP - History
- PHP - Features
- PHP - Syntax
- PHP - Hello World
- PHP - Comments
- PHP - Variables
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ and $$ Variables
- PHP - Constants
- PHP - Magic Constants
- PHP - Data Types
- PHP - Type Casting
- PHP - Type Juggling
- PHP - Strings
- PHP - Boolean
- PHP - Integers
- PHP - Files & I/O
- PHP - Maths Functions
- PHP - Heredoc & Nowdoc
- PHP - Compound Types
- PHP - File Include
- PHP - Date & Time
- PHP - Scalar Type Declarations
- PHP - Return Type Declarations
- PHP - Operators
- PHP - Arithmetic Operators
- PHP - Comparison Operators
- PHP - Logical Operators
- PHP - Assignment Operators
- PHP - String Operators
- PHP - Array Operators
- PHP - Conditional Operators
- PHP - Spread Operator
- PHP - Null Coalescing Operator
- PHP - Spaceship Operator
- PHP Control Statements
- PHP - Decision Making
- PHP - If…Else Statement
- PHP - Switch Statement
- PHP - Loop Types
- PHP - For Loop
- PHP - Foreach Loop
- PHP - While Loop
- PHP - Do…While Loop
- PHP - Break Statement
- PHP - Continue Statement
- PHP Arrays
- PHP - Arrays
- PHP - Indexed Array
- PHP - Associative Array
- PHP - Multidimensional Array
- PHP - Array Functions
- PHP - Constant Arrays
- PHP Functions
- PHP - Functions
- PHP - Function Parameters
- PHP - Call by value
- PHP - Call by Reference
- PHP - Default Arguments
- PHP - Named Arguments
- PHP - Variable Arguments
- PHP - Returning Values
- PHP - Passing Functions
- PHP - Recursive Functions
- PHP - Type Hints
- PHP - Variable Scope
- PHP - Strict Typing
- PHP - Anonymous Functions
- PHP - Arrow Functions
- PHP - Variable Functions
- PHP - Local Variables
- PHP - Global Variables
- PHP Superglobals
- PHP - Superglobals
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP File Handling
- PHP - File Handling
- PHP - Open File
- PHP - Read File
- PHP - Write File
- PHP - File Existence
- PHP - Download File
- PHP - Copy File
- PHP - Append File
- PHP - Delete File
- PHP - Handle CSV File
- PHP - File Permissions
- PHP - Create Directory
- PHP - Listing Files
- Object Oriented PHP
- PHP - Object Oriented Programming
- PHP - Classes and Objects
- PHP - Constructor and Destructor
- PHP - Access Modifiers
- PHP - Inheritance
- PHP - Class Constants
- PHP - Abstract Classes
- PHP - Interfaces
- PHP - Traits
- PHP - Static Methods
- PHP - Static Properties
- PHP - Namespaces
- PHP - Object Iteration
- PHP - Encapsulation
- PHP - Final Keyword
- PHP - Overloading
- PHP - Cloning Objects
- PHP - Anonymous Classes
- PHP Web Development
- PHP - Web Concepts
- PHP - Form Handling
- PHP - Form Validation
- PHP - Form Email/URL
- PHP - Complete Form
- PHP - File Inclusion
- PHP - GET & POST
- PHP - File Uploading
- PHP - Cookies
- PHP - Sessions
- PHP - Session Options
- PHP - Sending Emails
- PHP - Sanitize Input
- PHP - Post-Redirect-Get (PRG)
- PHP - Flash Messages
- PHP AJAX
- PHP - AJAX Introduction
- PHP - AJAX Search
- PHP - AJAX XML Parser
- PHP - AJAX Auto Complete Search
- PHP - AJAX RSS Feed Example
- PHP XML
- PHP - XML Introduction
- PHP - Simple XML Parser
- PHP - SAX Parser Example
- PHP - DOM Parser Example
- PHP Login Example
- PHP - Login Example
- PHP - Facebook Login
- PHP - Paypal Integration
- PHP - MySQL Login
- PHP Advanced
- PHP - MySQL
- PHP.INI File Configuration
- PHP - Array Destructuring
- PHP - Coding Standard
- PHP - Regular Expression
- PHP - Error Handling
- PHP - Try…Catch
- PHP - Bugs Debugging
- PHP - For C Developers
- PHP - For PERL Developers
- PHP - Frameworks
- PHP - Core PHP vs Frame Works
- PHP - Design Patterns
- PHP - Filters
- PHP - JSON
- PHP - Exceptions
- PHP - Special Types
- PHP - Hashing
- PHP - Encryption
- PHP - is_null() Function
- PHP - System Calls
- PHP - HTTP Authentication
- PHP - Swapping Variables
- PHP - Closure::call()
- PHP - Filtered unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - Expectations
- PHP - Use Statement
- PHP - Integer Division
- PHP - Deprecated Features
- PHP - Removed Extensions & SAPIs
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI Process
- PHP - PDO Extension
- PHP - Built-In Functions
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.