【问题标题】:Determine Windows drive letter using PHP [closed]使用 PHP 确定 Windows 驱动器号 [关闭]
【发布时间】:2016-01-20 10:57:40
【问题描述】:

我看了一点,但没有找到答案。是否有可能在没有任何黑客攻击的情况下找出服务器系统驱动器/文件夹?

在您提供的答案中,仅讨论了如何确定当前驱动器,但我需要找出系统驱动器,安装操作系统的位置。

【问题讨论】:

  • 我认为如果你有 COM 类,你可以做到这一点。不确定是否有与exec() 一起使用的命令。这些可能是唯一的选择。没有任何原生 PHP 命令(问题是他们为什么要添加它)。 Google 或许可以通过与 Windows 相关的 cli 命令提供更多帮助。
  • @CharlotteDunois,什么 COM 类?此外,在服务器端,除了通常的 php 环境,我们什么都没有,有时仅限于执行命令。我认为必须有一些函数可以做到这一点。
  • @RiggsFolly 可能重复但不能 100% 确定,因为 Web 根目录的位置可能与操作系统位于不同的驱动器上。
  • @CharlotteDunois 你说得有道理,我在第一次阅读时没有掌握system 位,关闭删除
  • 尝试查看$_SERVER["SystemRoot"] 虽然我不确定在 UNIX 环境中会返回什么

标签: php server system drive-letter


【解决方案1】:

对于 Windows:

echo GetEnv("SystemDrive");
// C:

虽然在 Unix/Linux 上这个变量不存在,但系统“驱动器”可以预见只是 /

如果你需要实际的分区,你可以尝试用这个来获取它:

exec( 'mount |grep " / " | cut -d " " -f 1' );
// /dev/sda1

【讨论】:

  • 感谢 linux 提示。另外,还有一个问题 - 使用 GetEnv 或 $_SERVER 我真的可以找出操作系统名称吗?
  • 您可以使用phpinfo() 查看所有可用的环境变量,$_SERVER 可以像使用var_dump() 的所有变量一样进行检查。
猜你喜欢
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-22
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
相关资源
最近更新 更多