夜光带你走进 传奇语言php(80)进阶篇开始

本文介绍如何使用PHP的filesize函数获取文件大小,并提供了一个自定义函数用于将字节数转换为KB、MB或GB等更易读的单位。

夜光序言:

 

每个人背后都是一部泪水史,不同的是,有些人使劲往外撒,有些人拼命往肚里咽。

不要再去轻易的挑剔别人的不是,不要再随便为别人的心增加负担。活着,都难。

 

 

 

 

 

 

 

 

正文:

PHP文件系统之取得文件的大小

通过filesize函数可以取得文件的大小,文件大小是以字节数表示的。

$filename = '/data/webroot/usercode/resource/test.txt';
$size = filesize($filename);

如果要转换文件大小的单位,可以自己定义函数来实现。

function getsize($size, $format = 'kb') {
    $p = 0;
    if ($format == 'kb') {
        $p = 1;
    } elseif ($format == 'mb') {
        $p = 2;
    } elseif ($format == 'gb') {
        $p = 3;
    }
    $size /= pow(1024, $p);
    return number_format($size, 3);
}

$filename = '/data/webroot/usercode/code/resource/test.txt';
$size = filesize($filename);                              

$size = getsize($size, 'kb'); //进行单位转换
echo $size.'kb';

值得注意的是,没法通过简单的函数来取得目录的大小,目录的大小是该目录下所有子目录以及文件大小的总和,因此需要通过递归的方法来循环计算目录的大小。

任务

取得$filename的文件大小,并输出。



/**
 * Created by PhpStorm.
 * User: 夜光
 * Date: 2019/7/16
 * Time: 20:31
 */

<?php
$filename = '/test.txt';
echo '所有者:'.fileowner($filename).'<br>';
echo '创建时间:'.date('Y-m-d H:i:s',filectime($filename)).'<br>';
echo '修改时间:'.date('Y-m-d H:i:s',filemtime($filename)).'<br>';
echo '最后访问时间:'.date('Y-m-d H:i:s',fileatime($filename)).'<br>';
$mtime = filemtime($filename);
//给$mtime赋值为文件的修改时间

//通过计算时间差 来判断文件内容是否有效
if (time() - $mtime > 3600) {
    echo '<br>缓存已过期';
} else {
    echo file_get_contents($filename);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值