【问题标题】:file_exists using file on different drivefile_exists 使用不同驱动器上的文件
【发布时间】:2013-03-23 20:48:37
【问题描述】:

谁能告诉我如何将此功能用于不同驱动器上的文件?下面的代码没有找到该文件。

 $loaded_php = "C:/Program Files(x86)/PHP/v5.3/php.ini";  
  if(file_exists($loaded_php)) 
  {
    $phpini= file_get_contents($loaded_php);
  } else {
    $phpini= "nothing";
  }

【问题讨论】:

  • 您只使用 Windows 吗?然后看看“远程文件的Windows路径”。尽管如此,你为什么要尝试这个,它非常难看:-) 你应该在远程机器上安装一个小服务,你可以用它来查询一个特定的文件。您是对“php.ini”还是任意文件感兴趣?
  • 感谢您的回复。是的,它只是 Windows,你知道我怎样才能让代码工作吗?非常感谢
  • 感谢您的回复,它在我服务器上的不同驱动器上。谁能告诉我如何在路径中声明驱动器号?非常感谢
  • @MattHarris - PHP 中的驱动器号没有什么特别之处,而且您的代码很好,因为 PHP 允许 / 作为 Windows 上的目录分隔符。我建议您从 Windows 资源管理器中复制文件路径,将其粘贴到您的代码下方并检查是否存在差异。
  • 感谢您的回复

标签: php file-exists


【解决方案1】:

关于 Marc 的回答,我建议使用

$loaded_php = 'C:\PROGRA~2\PHP\v5.3\php.ini';
$phpini = file_exists($loaded_php) ? file_get_contents($loaded_php) : 'nothing';

【讨论】:

  • 缺点很明显。有什么优点?
  • 叫我瞎子,但你在说什么明显的缺点?我总是更喜欢使用PROGRA~2 而不是Program Files (x86),因为它a) 打字少,b) 我不能错过任何空格,c) 它不需要我在命令行上转义路径。
  • 嗯...最明显的是:1)无法从Windows资源管理器,命令提示符自动完成或PHP常规文件系统功能中获取8+3兼容路径,需要运行dir /x 2)没有办法说它指向哪里,你需要实际打开它。 (使用任何你喜欢的东西,我只是好奇,因为我一直认为它只是一个向后兼容的旧版 16 位程序的 hack。)
  • @ÁlvaroG.Vicario 我刚刚回来查看。路径参数应始终在 PHP 中避免使用空格(无论使用单引号还是双引号来包裹字符串)。示例:这不起作用:<?php system('C:\Program Files (x86)\php\php.exe -v 2>&1', $o); echo $o; ?>。这将起作用:<?php system('C:\Progra~2\php\php.exe -v 2>&1', $o); echo $o; ?>。另一个:这行不通:FcgidWrapper "c:/program files (x86)/php/php-cgi.exe" .php 但这会:FcgidWrapper "c:/progra~2/php/php-cgi.exe" .php
  • 使用您自己的命令C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe remount 2>&1,然后从 Windows 命令提示符运行它。这根本不是 PHP 问题。您似乎已将其视为个人 - 正如我所说,您可以选择使用短路径,并且您提供了 3 个正当理由。没有必要证明您的选择是合理的,声称没有其他方法可以做到这一点。
【解决方案2】:

错别字:

 $loaded_php = "C:/Program Files(x86)/PHP/v5.3/php.ini";  
                                ^---missing space

我是Program Files[SPACE](x86)

【讨论】:

  • 再次非常感谢大家,仍然不高兴。试过 C:\PROGRA~2\PHP\v5.3\php.ini、file:///C:/Program Files (x86)/PHP/v5.3/php.ini 和 C:/Program Files (x86) /PHP/v5.3/php.ini - 它们都不起作用......还有其他想法吗?
猜你喜欢
  • 2012-09-28
  • 1970-01-01
  • 2011-10-01
  • 2014-03-14
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多