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

PHP String sha1_file() Function



The PHP String sha1_file() function is used to calculate and return the sha1 hash of the file given by filename using the US Secure Hash Algorithm 1. The hash is a 40-character hexadecimal number.

Syntax

Below is the syntax of the PHP String sha1_file() function −

string sha1_file ( string $filename, bool $binary = false )

Parameters

Here are the parameters of the sha1_file() function −

  • $filename − It is the filename of the file to hash.

  • $binary − When true, it returns the digest in raw binary format with a length of 20.

Return Value

The sha1_file() function returns a string on success. And FALSE on failure.

PHP Version

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

Example 1

First we will show you the basic example of the PHP String sha1_file() function to get the sha1 hash for the given file.

<?php
   $file = '/PHP/PhpProjects/myfile.txt';
   
   $hashValue = sha1_file($file); 
   
   echo $hashValue; 
?>

Output

Here is the outcome of the following code −

bda0f341ad3d53120699473ecb52347e4da0d7a3

Example 2

In the below PHP code we will try to use the sha1_file() function and with optional parameter $binary with different values TRUE and FALSE.

<?php
   $file = '/PHP/PhpProjects/myfile.txt';
   
   // Without optional parameter 
   echo sha1_file($file) . "\n"; 
   
   // with optional parameter $raw = FALSE, no changes in result 
   echo sha1_file($file, FALSE) . "\n"; 
   
   
   // with optional parameter $raw = TRUE, result changed 
   echo sha1_file($file, TRUE) . "\n"; 
?> 

Output

This will generate the below output −

bda0f341ad3d53120699473ecb52347e4da0d7a3
bda0f341ad3d53120699473ecb52347e4da0d7a3

Example 3

Now the below code retrieves specific sha1 hash value of the provided file using the sha1_file() function, and prints it.

<?php
   foreach(glob('/PHP/PhpProjects/myfile.txt') as $ent)
   {
      if(is_dir($ent))
      {
         continue;
      }

      echo $ent . ' (SHA1: ' . sha1_file($ent) . ')', PHP_EOL;
   }
?> 

Output

This will create the below output −

/PHP/PhpProjects/myfile.txt (SHA1: bda0f341ad3d53120699473ecb52347e4da0d7a3)

Example 4

Let us see a different example to check the integrity of the file. So let us save the SHA-1 hash of "myfile.txt" in a file like the below −

<?php
   $input = sha1_file("/PHP/PhpProjects/myfile.txt");
   file_put_contents("/PHP/PhpProjects/sha1file.txt", $input);
?> 

Now check if "myfile.txt" has been changed that is if the SHA-1 hash has been changed −

<?php
   $input = file_get_contents("/PHP/PhpProjects/sha1file.txt");
   if (sha1_file("/PHP/PhpProjects/myfile.txt") == $input)
   {
   echo "The file is Fine.";
   }
   else
   {
   echo "The file has been changed.";
   }
?> 

Output

Following is the output of the above code −

The file is Fine.
php_function_reference.htm
Advertisements