PHP filesize() 函数

filesize

作用:函数返回指定文件的大小

语法

filesize(filename)

参数

filename:必需。规定要检查的文件。

返回值

返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。

filesize 示例

示例一

<?php

// 输出类似:somefile.txt: 1024 bytes

$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';

?>

示例二

<?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];
}
?>

示例三

<?php
/**
* Converts bytes into human readable file size.
*
* @param string $bytes
* @return string human readable file size (2,87 Мб)
* @author Mogilev Arseny
*/
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;
}

?>

示例四

<?php
/**
* Return file size (even for file > 2 Gb)
* For file size over PHP_INT_MAX (2 147 483 647), PHP filesize function loops from -PHP_INT_MAX to PHP_INT_MAX.
*
* @param string $path Path of the file
* @return mixed File size or false if error
*/
function realFileSize($path)
{
    if (!file_exists($path))
        return false;

    $size = filesize($path);
   
    if (!($file = fopen($path, 'rb')))
        return false;
   
    if ($size >= 0)
    {//Check if it really is a small file (< 2 GB)
        if (fseek($file, 0, SEEK_END) === 0)
        {//It really is a small file
            fclose($file);
            return $size;
        }
    }
   
    //Quickly jump the first 2 GB with fseek. After that fseek is not working on 32 bit php (it uses int internally)
    $size = PHP_INT_MAX - 1;
    if (fseek($file, PHP_INT_MAX - 1) !== 0)
    {
        fclose($file);
        return false;
    }
   
    $length = 1024 * 1024;
    while (!feof($file))
    {//Read the file until end
        $read = fread($file, $length);
        $size = bcadd($size, $length);
    }
    $size = bcsub($size, $length);
    $size = bcadd($size, strlen($read));
   
    fclose($file);
    return $size;
}

关于PHP filesize() 函数的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/40485.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
php学习php学习订阅用户
上一篇 2022年6月12日 23:48
下一篇 2022年6月13日

相关推荐

  • 循环结构---FOR循环

    语法: For(变量初始化;条件表达式;变量的变化){ 循环体; } 案例:1-99 注意:变量初始化可以是多个,用逗号隔开。 注意:条件判断可以是多个,每个用逗号隔开。 图解:

    2018年2月24日 PHP自学教程
    0434
  • PHP8.0中的JVM序列化库

    随着PHP 8.0的发布,许多新功能得到了带来。其中之一是引入了JVM序列化库,这是一项旨在提高性能的功能。在这篇文章中,我们将详细探讨PHP8.0中的JVM序列化库。JVM序列化是什么?在开始之前,让我们先了解一下JVM序…

    2023年5月19日
    01
  • PHP中的功能测试框架。

    随着软件项目的不断增多,开发人员经常会遇到各种的问题。其中最让人头痛的问题之一就是,如何保证项目代码的质量和稳定性。为此,很多开发人员都开始采用各种测试框架来测试他们的代码是否达到了预期的要求。在这…

    2023年5月30日
    00
  • PHP的cookie工作原理

    当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:\Documents and Settings\用户名\Cookies 目录下。cookie是HTTP标头的一部分,因此setcookie函…

    2017年11月27日
    0182
  • PHP中的容器编排。

    随着云计算的普及,容器技术也得到广泛的应用,容器编排成为了越来越多企业的必备技术。PHP作为世界流行的服务器端脚本语言,也积极适应这一技术趋势,不断推出新的容器编排工具。一、什么是容器编排容器编排(Cont…

    2023年5月28日
    00
  • 使用PHP开发直播功能的详细教程。

    随着网络技术的不断发展,直播功能正在变得越来越流行。在这样一个背景下,越来越多的开发者正在使用PHP语言开发直播功能,以满足市场需求。本篇文章将针对如何使用PHP语言开发直播功能,提供一个详细的教程,帮助…

    2023年5月30日
    042
  • PHP中使用Redis实现分布式锁智能切换。

    分布式系统中,由于多个节点同时对同一资源进行操作,容易出现并发冲突的问题。为了解决这个问题,我们通常使用分布式锁来控制对共享资源的访问。Redis是一种高效的分布式缓存,可以用来实现分布式锁。本文将介绍如…

    2023年5月23日
    01
  • PHP入门指南:观察者模式。

    在现代软件开发中,设计模式是一种被广泛使用的概念。设计模式是存在于软件系统中的通用解决方案,它们经过测试和证明,可以帮助开发人员更高效地构建复杂的软件应用程序。观察者模式是其中一个很常见的设计模式,…

    2023年5月22日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息