我想我有这个权利,但我希望有人能证实这一点。

function storageAmmount()
{
    system('stat /web/'.$user."/ | grep Size: > /web/".$user."/log/storage");
    $storage = fopen('/web/'.$user.'/log/storage');
    $storage = str_replace('Size:', " ", $storage);
    $storage = preg_replace('Blocks:(((A-Z), a-z), 1-9)','',$storage);
}

这是文本文件中的行:
Size: 4096       Blocks: 8          IO            Block: 4096   directory

我试图只获得 yield “大小:”的数值,单词大小:以及其他一切对我来说都是无用的。

我主要看 preg_replace 。是我还是正则表达式有点困惑?有什么想法吗。提前感谢您的任何帮助。

干杯!,

菲尔

好的,

这是函数现在的样子:
function storageAmmount()
{
$storage = filesize('/web/'.$user.'/');
$final = $storage/(1024*1024*1024);
return $final;
}

我将 number_format() 放在哪里,我不确定它是否会出现在等式或 return 语句中。我已经尝试过它,它返回的所有内容都是“0.00”。

V1。
function storageAmmount()
{
$storage = filesize('/web/'.$user.'/');
$final = number_format($storage/(1024*1024*1024), 2);
return $final;
}

或 V2。
function storageAmmount()
{
$storage = filesize('/web/'.$user.'/');
$final = $storage/(1024*1024*1024);
return number_format($final, 2);
}

两者都不起作用,它们都返回“0.00”。有什么想法吗?

最佳答案

看起来您正在尝试以字节为单位获取文件的大小。如果是这样,为什么不直接使用 PHP 的 filesize 函数,它将文件名作为参数并以字节为单位返回文件的大小。

function storageAmmount(){
    $storage = filesize('/web/'.$user);
}

关于php - 我是否正确使用 preg_replace (PHP)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4614814/

10-16 03:32
查看更多