【发布时间】:2011-06-10 11:27:42
【问题描述】:
我正在本地计算机上运行我的PHP代码,所以,我只想知道PHP有什么功能可以获取本地硬盘信息。例如磁盘名称,磁盘空间,可用空间等。
非常感谢!!
【问题讨论】:
标签: php local disk hard-drive
我正在本地计算机上运行我的PHP代码,所以,我只想知道PHP有什么功能可以获取本地硬盘信息。例如磁盘名称,磁盘空间,可用空间等。
非常感谢!!
【问题讨论】:
标签: php local disk hard-drive
【讨论】:
有两个函数:disk_free_space() 和 disk_total_space()。
【讨论】:
此外,是的,可以检索此信息,因为您可以执行命令。还有一些 PHP 函数可以检索有关磁盘的信息,请查看以下链接:
然而,检索磁盘的名称需要使用命令来完成。我刚刚在 VirtualBox 中启动了 Windows,似乎以下方法可行:
if( preg_match( '~Volumenaam : (.*)~i', `fsutil fsinfo volumeinfo C:\\`, $matches ) ) {
echo $matches[1];
}
Volumenaam 是荷兰语的“卷名”。我只有荷兰语版本的 Windows,所以你必须检查实际的字符串是什么。
祝你好运。
【讨论】:
在您在这里提问之前,您是否尝试过搜索 PHP 手册?
这两个功能对我来说很快就出现了:
光盘名称等其他数据可能比较棘手(您可能需要使用system(),根据此处的另一个答案),但这应该会给您一个开始。
但是,请注意,当 PHP 在网站中运行时,它的功能会受到很多限制;对于任何磁盘访问,它可能仅限于其本地网络文件夹。
【讨论】:
磁盘名称可以使用这个函数
function GetVolumeLabel($drive) {
// Try to grab the volume name
if (preg_match('#Volume in drive [a-zA-Z]* is (.*)\n#i', shell_exec('dir '.$drive.':'), $m)) {
$volname = ' ('.$m[1].')';
} else {
$volname = '';
}
return $volname;
}
echo GetVolumeLabel("c");
【讨论】: