PHP Filesystem fileowner() Function
The PHP Filesystem fileowner() function is used to return the user ID (owner) of the given file. This function can return the User ID on success or false on failure.
The result of this function can be cached, so we can use clearstatcache() function to clear the cache. This function can not be run on Windows systems. We can use the posix_getpwuid() function to convert User ID to the username.
Syntax
Below is the syntax of the PHP Filesystem fileowner() function −
int fileowner ( string $filename )
Parameters
The parameters are needed to use the fileowner() function are mentioned below −
| Sr.No | Parameter & Description |
|---|---|
| 1 |
filename(Required) It is the path to the file for which you want to get the owner. |
Return Value
It returns the user ID (UID) of the owner of the file on success and if the function fails it returns FALSE.
PHP Version
The fileowner() function was first introduced as part of core PHP 4 and work well with the PHP 5, PHP 7, PHP 8.
Example
This is the basic example of showing the usage of the PHP Filesystem fileowner() function in which we are trying to get the owner of the file provided in the path.
<?php
// echo the Owner ID of the file
echo fileowner("/PhpProject/sample.txt");
?>
Output
This will produce the following result −
0
Example
In the below PHP code we will use fileowner() function and also handle the error in case if we will not be able to get the file ID or if the file is not present.
<?php
// Provide file path here
$filename = "/PhpProject/myfile.txt";
// use fileowner() function to get file ID
$owner = fileowner($filename);
// Handle the error here
if ($owner !== false) {
echo "The owner of the file is: " . $owner;
} else {
echo "Failed to get the owner of the file.";
}
?>
Output
This will generate the below result −
The owner of the file is: 501
Example
The fileowner() function is used to get the owner of the given directory in our case it is 'uploads/'' directory. The code checks if the function returns a valid user ID.
<?php
$uploadDir = "uploads/";
$owner = fileowner($uploadDir);
if ($owner !== false) {
echo "The owner of the upload directory is: " . $owner;
} else {
echo "Failed to get the owner of the upload directory.";
}
?>
Output
This will create the below outcome −
The owner of the upload directory is: 302
Example
The below example performs checking the owner of a log file error_log using the fileowner() function and return the value of it as owner ID.
<?php
// define the log file here
$logFile = "error_log";
// get the owner id of the file
$owner = fileowner($logFile);
// perform error handling
if ($owner !== false) {
echo "The owner of the log file is: " . $owner;
} else {
echo "Failed to get the owner of the log file.";
}
?>
Output
This will lead to the following outcome −
The owner of the log file is: 1001
Note
You should verify to make sure the script has the right permissions to access the file and that it actually exists. When file ownership is required for logging, file management, or security checks, this function is really useful.
Summary
The user ID (UID) of the file or directory owner can be obtained using a built-in PHP function called fileowner(). It takes only the file path as an argument, and returns false if it cannot find the UID. This feature is present in all versions of PHP and is required for tasks that need file owner verification.