PHP Variable Handling get_resource_type() Function



The PHP Variable Handling get_resource_type() function is used to find the type of a given resource. In PHP, a resource is a variable that means external data, like a database connection or an open file. This function is compatible with PHP versions 4, 5, 7, and 8. It is useful when you want to know what type of resource you are using in your code.

The function takes a single parameter, $resource, which is the resource you want to evaluate. If the input is a valid resource, it will return a string that shows its type. For example, if the resource is a database connection, the function may return a type like "mysql link" or "stream" for files.

If the input is not a resource, the function returns null. It will also generate an error in such situations. This method is useful for debugging and managing a number of resources within a program.

Syntax

Below is the syntax of the PHP Variable Handling get_resource_type() function −

string get_resource_type ( resource $resource )

Parameters

This function accepts $resource parameter which is an evaluated resource handle.

Return Value

The get_resource_type() function returns a string that specifies its type, if the input resource is a resource. If this function cannot determine the type, it returns the string Unknown. This function will return null and throw an error if resource is not a resource.

PHP Version

First introduced in core PHP 4.0.2, the get_resource_type() function continues to function easily in PHP 5, PHP 7, and PHP 8.

Example 1

This program opens a file and then calls the PHP Variable Handling get_resource_type() function to find out its type. It shows a simple resource type check.

<?php
   // Open a file in read mode
   $file = fopen("/PHP/PhpProjects/myfile.txt", "r");

   // Check and display the resource type
   echo "Resource type: " . get_resource_type($file) . PHP_EOL;

   // Close the file
   fclose($file);
?>

Output

Here is the outcome of the following code −

Resource type: stream

Example 2

In the below PHP code we will use the get_resource_type() function and use multiple resource types like file, stream, and database. And it identifies each type with the help of get_resource_type() function.

<?php
   // Open a file resource
   $file = fopen("/PHP/PhpProjects/myfile.txt", "r");

   // Create a stream context
   $stream = stream_context_create();

   // Connect to MySQL database
   $mysqli = mysqli_connect("localhost", "root", "", "test_db");

   // Display the resource types
   echo "File resource type: " . get_resource_type($file) . PHP_EOL;
   echo "Stream resource type: " . get_resource_type($stream) . PHP_EOL;
   echo "Database resource type: " . get_resource_type($mysqli) . PHP_EOL;

   // Close all resources
   fclose($file);
   mysqli_close($mysqli);
?> 

Output

This will generate the below output −

File resource type: stream
Stream resource type: stream
Database resource type: MySQL link
php_function_reference.htm
Advertisements