The zip_entry_filesize() function is an inbuilt function in PHP which is used to return the original file size of a zip archive entry before compression. The zip entry resource is to be read and sent as a parameter to the zip_entry_filesize() function and it returns the value in bytes on Success.
Syntax:
int zip_entry_filesize( $zip_entry )
Parameters: This function accepts single parameter $zip_entry which is mandatory. It is a parameter which specify the zip entry resource.
Return Value: It returns the value in bytes on Success.
Errors And Exceptions:
- The zip_entry_filesize() returns the size in bytes of a file before compression only on Success otherwise it returns a PHP warning.
- The zip_entry_filesize() function returns an ER_OPEN error if the zip archive is invalid.
- The zip_entry_filesize() function returns an ER_NOZIP error if the zip archive is empty.
Below programs illustrate the zip_entry_filesize() function in PHP:
Program 1:
Suppose a zip file article.zip contains the following file:
content.xlsx
<?php // Opening a zip file $zip_handle = zip_open( "C:/xampp/htdocs/article.zip" ); // Reading a zip entry archive $zip_entry = zip_read( $zip_handle ); $file = zip_entry_name( $zip_entry ); // Reading file size before compression $size = zip_entry_filesize( $zip_entry ); // Displaying the file ans its size echo ( "File Name: " . $file . "<br>Size:" . $size . " Bytes" ); zip_close( $zip_handle ); ?> |
Output:
File Name: article/content.xlsx Size: 9420 Bytes
Program 2:
Suppose a zip file article.zip contains the following files and directories:
Directory: img
- neveropen.png
- neveropen1.png
content.xlsx
gfg.pdf
image.jpeg
<?php // Opening a zip file $zip_handle = zip_open( "C:/xampp/htdocs/article.zip" ); if ( is_resource ( $zip_handle )) { while ( $zip_entry = zip_read( $zip_handle )) { $file = zip_entry_name( $zip_entry ); // Checking the file size of a zip // archive entry before compression $size = zip_entry_filesize( $zip_entry ); echo ( "File Name: " . $file . "<br>Size: " . $size . " Bytes<br>" ); } // closing the zip archive zip_close( $zip_handle ); } else echo ( "Zip archive cannot be read." ); ?> |
Output:
File Name: article/content.xlsx Size: 9420 Bytes File Name: article/gfg.pdf Size: 621936 Bytes File Name: article/image.jpeg Size: 159263 Bytes File Name: article/img/ Size: 0 Bytes File Name: article/img/neveropen.png Size: 751 Bytes File Name: article/img/neveropen1.png Size: 337 Bytes
Reference: http://php.net/manual/en/function.zip-entry-filesize.php