Định Nghĩa.
Hàm filesize()
sẽ lấy kích thước của tập tin truyền vào.
Cú pháp.
Cú pháp:
filesize ( string $filename
) : int
Trong đó.
$filename
là đường dẫn tới file.
Giá trị trả về.
- Trả về kích thước của tệp theo byte hoặc FALSE (và tạo ra lỗi cấp E_WARNING) trong trường hợp có lỗi.
– Lưu ý: Vì loại số nguyên của PHP đã được signed và nhiều nền tảng sử dụng môi trường 32bit, một số hàm hệ thống tệp có thể trả về kết quả không mong muốn cho các tệp lớn hơn 2GB.
Ví dụ.
ví dụ 1 filesize() đơn giản.
code:
<?php // outputs e.g. somefile.txt: 1024 bytes $filename = 'somefile.txt'; echo $filename . ': ' . filesize($filename) . ' bytes'; ?>
Errors/Exceptions.
- Khi thất bại, Một cảnh báo E_WARNING được phát ra.
Ghi chú.
- Kết quả của chức năng này được lưu trữ. Xem Clearstatcache () để biết thêm chi tiết.
- Kể từ phiên bản PHP 5.0.0, chức năng này cũng có thể được sử dụng với một số trình bao bọc URL. Tham khảo các Supported Protocols and Wrappers để xác định nhóm chức năng hỗ trợ stat() nào.
Hàm liên quan.
- file_exists() – Check file hoặc thư mục có tồn tại hay không.
Thông tin thêm.
- Chức năng cực kỳ đơn giản để có được kích thước tập tin của con người.
<?php function human_filesize($bytes, $decimals = 2) { $sz = 'BKMGTP'; $factor = floor((strlen($bytes) - 1) / 3); return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor]; } ?>
- nếu gần đây bạn đã thêm một cái gì đó vào tệp và đóng nó thì phương pháp này sẽ không hiển thị dữ liệu được nối thêm:
<?php // get contents of a file into a string $filename = "/usr/local/something.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle); ?>
Bạn nên gọi đến hàm Clearstatcache () trước khi gọi filesize () Tôi đã mất một khoảng thời gian để tìm ra vấn đề này. -
Để bạn có thể dễ biết file có kích thước bao nhiêu (Kích thước dễ nhận biết chứ không phải kí tự bytes ) ta có thể dùng hàm bên dưới.
function FileSizeConvert($bytes) { $bytes = floatval($bytes); $arBytes = array( 0 => array( "UNIT" => "TB", "VALUE" => pow(1024, 4) ), 1 => array( "UNIT" => "GB", "VALUE" => pow(1024, 3) ), 2 => array( "UNIT" => "MB", "VALUE" => pow(1024, 2) ), 3 => array( "UNIT" => "KB", "VALUE" => 1024 ), 4 => array( "UNIT" => "B", "VALUE" => 1 ), ); foreach($arBytes as $arItem) { if($bytes >= $arItem["VALUE"]) { $result = $bytes / $arItem["VALUE"]; $result = str_replace(".", "," , strval(round($result, 2)))." ".$arItem["UNIT"]; break; } } return $result; } ?>
Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm filesize() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com