我想我有这个权利,但我希望有人能证实这一点。
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/