filesize() returns the file size in bytes. Verify the target first and remember that cached file metadata can be refreshed with clearstatcache() when the file changes during the same request.
$file = __DIR__ . '/download.zip';
if (is_file($file)) {
clearstatcache(true, $file);
$bytes = filesize($file);
if ($bytes !== false) {
echo $bytes . ' bytes';
}
}This example shows the recommended starting pattern. Continue below for variations, explanation and the original practical examples.
echo filesize('test.htm');
Output is
130
$ar=scandir('.'); // current dir
while (list ($key, $val) = each ($ar)) {
echo $val . filesize($val). " bytes " ;
echo "<br>";
}
if (!file_exists('sample.txt')) {
echo 'File does not exist';
} else {
echo 'File size: ' . filesize('sample.txt') . ' bytes';
}
function format_size($size) {
$units = ['B', 'KB', 'MB', 'GB', 'TB'];
$unit_index = 0;
while ($size >= 1024 && $unit_index < count($units) - 1) {
$size /= 1024;
$unit_index++;
}
return round($size, 2) . ' ' . $units[$unit_index];
}
$file_size = filesize('sample.txt');
echo 'Formatted size: ' . format_size($file_size);
$dir = 'path/to/directory';
$files = scandir($dir);
foreach ($files as $file) {
if (is_file("$dir/$file")) {
echo "$file: " . filesize("$dir/$file") . " bytes
";
}
}
$url = 'http://example.com/sample.jpg';
$headers = get_headers($url, 1);
if (isset($headers['Content-Length'])) {
echo 'File size: ' . $headers['Content-Length'] . ' bytes';
} else {
echo 'Unable to determine file size.';
}
$file_path = '/var/www/html/sample.txt';
if (file_exists($file_path)) {
echo 'File size: ' . filesize($file_path) . ' bytes';
} else {
echo 'File does not exist';
}
$file_path = 'large_file.zip';
if (file_exists($file_path)) {
$file_size = filesize($file_path);
echo $file_size > 1_000_000 ? 'File size is greater than 1MB' : 'File size is less than 1MB';
} else {
echo 'File does not exist';
}
Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.