带有符号链接文件的file_exists?

时间:2011-02-23 05:43:29

标签: php open-basedir

对于我们的应用程序,我们需要在根目录上存储文件,以便流媒体软件可以访问它们。

我成功创建了一个符号链接:

/var/www/vhosts/myhost.com.au/httpdocs/fileserver/videostream /

为:

的/ usr /本地/媒体服务器/内容/

并且PHP会很乐意将该符号链接后的原始视频处理到根目录上的真实文件。

但是,如果我尝试

file_exists('/var/www/vhosts/myhost.com.au/httpdocs/fileserver/videostream/myfile.mp4') 

我遇到了所有类型的“open_basedir限制生效”错误。

有解决方法吗?或者我是否需要假设如果我的数据库条目是正确的并且说文件已被处理,那实际上是。

尝试fopen工作会更好还是仍然存在基础限制?

我们在拥有root权限的专用主机上,因此我们可以做任何需要的事情。

感谢。


找到了解决方法,但它没有解决问题: - )

我实际上可以使用CURL来拉入实际文件的标题,这让我知道它是否存在。另外一种方法是使用CURL检查该文件是否存在流媒体服务器自定义URL。问题解决了,但不是我想要的那样。

2 个答案:

答案 0 :(得分:0)

如果您只想检查链接是否存在(而不是由于基础限制而无法存在您无法访问的链接目标),您可以使用readlink函数而不是{{1} }。如果它返回一个字符串,那么该链接就存在,如果它返回file_exists,那么该链接很可能不存在。

false

理论上,基础限制不应该在这里触发,但我不确定。

答案 1 :(得分:0)

您应该查看is_link而不是file_exists