【问题标题】:function file_exists does not work函数 file_exists 不起作用
【发布时间】:2014-08-05 14:38:45
【问题描述】:

在我的 webroot 中,我有一个名为 exists.php 的文件,其中是用于检查文件是否存在的代码:

$filename = 'http://www.domain.nl/contact.php';
if (file_exists($filename))
    {
        echo "Document ".$filename." found...<br><br><br>";
    }
    else
    {
        echo "Document ".$filename." not found...<br><br><br>";
    };

contact.php 文件确实存在,但在调用 exists.php 时,他回显:找不到文档
将代码更改为此:

$filename = 'contact.php';
if (file_exists($filename))
    {
        echo "Document ".$filename." found...<br><br><br>";
    }
    else
    {
        echo "Document ".$filename." not found...<br><br><br>";
    }; 

然后它回显:找到文档。

为什么这不适用于绝对路径?

【问题讨论】:

标签: php


【解决方案1】:

file_exists() 仅适用于支持 stat 函数的流包装器。

这些包括:

  • file://
  • ftp://
  • php://内存
  • php://temp
  • phar://
  • ssh2.sftp
  • rar://

不支持http://

【讨论】:

  • 你忘记了ftp://(PHP 5.0 起)。
  • 实际上 php://temp 和 php://memory 不起作用。并不是说它们不能被说明,而是它们的抽象工作方式没有什么可统计的,除非文件句柄在附近。因此,虽然需要接受文件句柄的“stat”的文件函数将起作用。采用类似 file_exists 路径的那些不会。
猜你喜欢
  • 2012-07-08
  • 1970-01-01
  • 2017-05-14
  • 2017-03-11
  • 2011-11-05
  • 2015-11-09
  • 2017-02-21
  • 2010-10-31
  • 2010-11-20
相关资源
最近更新 更多