【问题标题】:Is it possible to get special Local Disk information from PHP?是否可以从 PHP 获取特殊的本地磁盘信息?
【发布时间】:2011-06-10 11:27:42
【问题描述】:

我正在本地计算机上运行我的PHP代码,所以,我只想知道PHP有什么功能可以获取本地硬盘信息。例如磁盘名称,磁盘空间,可用空间等。

非常感谢!!

【问题讨论】:

    标签: php local disk hard-drive


    【解决方案1】:

    内置:

    如果你需要更多,你可以通过system()访问本地命令。

    对于磁盘使用,您还会在网上找到不同的 sn-ps,例如这个:

    【讨论】:

    • 谢谢,我应该使用什么样的本地命令来获得我想要的东西。另一个程序或 Windows 的命令?在哪里输出结果?在网页上还是什么?我不擅长PHP,所以请给我更多信息。非常感谢!
    【解决方案2】:

    有两个函数:disk_free_space()disk_total_space()

    【讨论】:

      【解决方案3】:

      此外,是的,可以检索此信息,因为您可以执行命令。还有一些 PHP 函数可以检索有关磁盘的信息,请查看以下链接:

      然而,检索磁盘的名称需要使用命令来完成。我刚刚在 VirtualBox 中启动了 Windows,似乎以下方法可行:

      if( preg_match( '~Volumenaam : (.*)~i', `fsutil fsinfo volumeinfo C:\\`, $matches ) ) {
          echo $matches[1];
      }
      

      Volumenaam 是荷兰语的“卷名”。我只有荷兰语版本的 Windows,所以你必须检查实际的字符串是什么。

      祝你好运。

      【讨论】:

        【解决方案4】:

        在您在这里提问之前,您是否尝试过搜索 PHP 手册?

        这两个功能对我来说很快就出现了:

        光盘名称等其他数据可能比较棘手(您可能需要使用system(),根据此处的另一个答案),但这应该会给您一个开始。

        但是,请注意,当 PHP 在网站中运行时,它的功能会受到很多限制;对于任何磁盘访问,它可能仅限于其本地网络文件夹。

        【讨论】:

        • 谢谢。我通过谷歌搜索尝试过,可能是我的错误关键字,我没有得到我想要的。所以,我想我应该请人帮我迈出第一步。
        【解决方案5】:

        磁盘名称可以使用这个函数

        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");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-08-17
          • 2011-12-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多