php disk_total_space [英] php disk_total_space

查看:108
本文介绍了php disk_total_space的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要帮助disk_total_space功能..



我在我的代码上有这个

 <?php 
$ sql =select * from users order by id;
$ result = mysql_query($ sql);
while($ row = mysql_fetch_array($ result)){
?>
名称:<?php echo $ row ['name']; ?>
电子邮件:<?php echo $ row ['email']; ?>
磁盘空间可用:<?php
$ dir =C:/ xampp / htdocs / freehosting /\".$ row ['name'];
disk_total_space($ dir);
}?>

但是,这会为每个用户返回相同的磁盘空间。



任何人都可以让我轻轻一点?



谢谢:)

解决方案/ div>

我想你想要的是这样的:

  function foldersize($ path){
$ total_size = 0;
$ files = scandir($ path);

foreach($ files as $ t){
if(is_dir(rtm($ path,'/')。'/'。$ t)){
if( $ t $$$$$$$$$$
$ total_size + = $ size;
}
} else {
$ size = filesize(rtrim($ path,'/')。'/'。$ t);
$ total_size + = $ size;
}
}
return $ total_size;
}

函数format_size($ size){
$ mod = 1024;

$ units = explode('','B KB MB GB TB PB'); ($ i = 0; $ size> $ mod; $ i ++)
$ $ $ $ $ $ $ $ $ $ $ $ $ $
}

返回圆($ size,2)。 。 $单元[$ i]于;
}

$ SIZE_LIMIT = 5368709120; // 5 GB
$ sql =select * from users order by id;
$ result = mysql_query($ sql);
while($ row = mysql_fetch_array($ result)){
$ disk_used = foldersize(C:/ xampp / htdocs / freehosting /\".$ row ['name']);
$ disk_remaining = $ SIZE_LIMIT - $ disk_used;
打印'名称:'。 $ row ['name']。 <峰; br>;
print'diskspace used:'。 format_size($ disk_used)。 <峰; br>;
打印'diskspace left:'。 format_size($ disk_remaining)。 <峰; br>< HR>;
}

编辑:递归函数有一个错误它原来现在它还应该读取原始文件夹中的文件夹,以及这些文件夹中的文件夹等等。


i need help with disk_total_space function..

i have this on my code

<?php
          $sql="select * from users order by id";
          $result=mysql_query($sql);
          while($row=mysql_fetch_array($result)) {
?>
Name : <?php echo $row['name']; ?>
Email : <?php echo $row['email']; ?>
Diskspace Available : <?php 
$dir = "C:/xampp/htdocs/freehosting/".$row['name'];
disk_total_space($dir);
} ?>

However this return me same disk space for every users ..

Anyone can shed me some light?

thanks :)

解决方案

I think what you want is something like this:

function foldersize($path) {
    $total_size = 0;
    $files = scandir($path);

    foreach($files as $t) {
        if (is_dir(rtrim($path, '/') . '/' . $t)) {
            if ($t<>"." && $t<>"..") {
                $size = foldersize(rtrim($path, '/') . '/' . $t);
                $total_size += $size;
            }
        } else {
            $size = filesize(rtrim($path, '/') . '/' . $t);
            $total_size += $size;
        }   
    }
    return $total_size;
}

function format_size($size) {
    $mod = 1024;

    $units = explode(' ','B KB MB GB TB PB');
    for ($i = 0; $size > $mod; $i++) {
        $size /= $mod;
    }

    return round($size, 2) . ' ' . $units[$i];
}

$SIZE_LIMIT = 5368709120; // 5 GB
$sql="select * from users order by id";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)) {
    $disk_used = foldersize("C:/xampp/htdocs/freehosting/".$row['name']);
    $disk_remaining = $SIZE_LIMIT - $disk_used;
    print 'Name: ' . $row['name'] . '<br>';
    print 'diskspace used: ' . format_size($disk_used) . '<br>';
    print 'diskspace left: ' . format_size($disk_remaining) . '<br><hr>';
}

edit: the recursive function had a bug in it originally. Now it should also read folders inside the original folders, and folders inside those folders, and so on.

这篇关于php disk_total_space的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆