子域中的php函数disk_free_space路径

时间:2015-03-18 15:14:48

标签: php

我有主机 - 具有独立服务器的子域。喜欢:

site.com
doc.site.com (on new server)

disk_free_space在主服务器上工作正确使用此路径:

disk_free_space("/");
disk_total_space("/");

但在子域上所有路径都不起作用,函数返回零。什么路径对我的立场是正确的?

disk_free_space("subdomain path?");
disk_total_space("subdomain path?");

2 个答案:

答案 0 :(得分:1)

PHP手册清楚地说明了total_disk_space方法的以下内容:

  

给定包含目录的字符串,此函数将返回相应文件系统或磁盘分区上的总字节数。

如果您的子域位于其他分区,我会说您可以使用disk_total_spacedisk_free_space方法。

请记住,返回值是浮点数的总字节数或失败时的false,因此您也可以使用is_float方法检查:

$totalDiskSpace = disk_total_space("/");

if(is_float($totalDiskspace))
{
    //
    // Do something with $totalDiskSpace.
    //
}
else
{
    //
    // Throw an exception or show an error.
    //
}

答案 1 :(得分:0)

这可能会因权限问题而发生。假设您要

disk_free_space("/a/b/c/d");

目录 c 需要运行php的用户具有rx权限。做为测试:

chmod go+rx /a/b/c

应该允许disk_free_space正常工作。

奇怪的是(至少在Centos 7上),包含要查询的目录或安装点的目录需要这些权限,而不是目录/ a / b / c / d本身。