我有主机 - 具有独立服务器的子域。喜欢:
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?");
答案 0 :(得分:1)
PHP手册清楚地说明了total_disk_space
方法的以下内容:
给定包含目录的字符串,此函数将返回相应文件系统或磁盘分区上的总字节数。
如果您的子域位于其他分区,我会说您可以使用disk_total_space
和disk_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本身。