【问题标题】:file_exists not working for a file present in a file serverfile_exists 不适用于文件服务器中存在的文件
【发布时间】:2012-10-24 15:19:01
【问题描述】:

我面临一个问题,即我能够链接到 http 服务器或 ftp 服务器中存在的文件.. 但我无法链接到文件服务器中存在的文件..

即,更清楚.. 如果 URL 是 http://serverpath.com/images/image.jpgftp://serverpath.com/images/image.jpg 或远程路径,则 file_exists 函数会给出 true 值,但如果给出与 //serverpath/public/images/image.jpg 类似的路径的文件服务器路径,则 file_exists 函数会给出false 值。

更新

我使用的是 PHP 5.4.4

在以前的php版本(即5.3以下)中报告了有关此问题的错误,并被告知该问题已在5.3以上的版本中解决。 php.ini 中是否有任何更改需要我们进行更改才能启用。我搜索了但没有得到我期望的答案

请帮忙

【问题讨论】:

  • 那是 Windows 共享吗?
  • 是的 Windows 7 共享...
  • @AsishAP:-yup.as always....有答案吗??

标签: php windows-7 file-io fileserver


【解决方案1】:

使用 CURL:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http:\\www.somesite.com\somefile.html'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);

curl_exec($ch) 如果不存在文件或实际数据成功则返回 FALSE

但是:

你最好将你的共享文件夹绑定到一个逻辑硬盘上

net use E: \\servername\shareddirectory 

这样做将允许您访问本地磁盘上的远程文件(例如 E:)。

file_exists() 如果你给出“本地”路径 E:\filepath\filename 应该可以工作

【讨论】:

  • 我只是给了你一个带有图像的示例,我需要检查文件是否存在,它可能是文本文件或 html 文件。
  • 提示:如果您的答案包含“@”,则说明您做错了。这样更好 :) 除了 - 您不能使用 curl 访问网络共享上的文件
  • 这里是我的编辑..请在降分前检查解决方案,谢谢!
  • 如果我在上面的代码中提供一个文件服务器链接,结果将是错误号 6。我不认为为该特定网络路径创建驱动器并提供路径名是一个好的选项。
【解决方案2】:

你的 php.ini allow_url_fopen 开启了吗?

【讨论】:

  • 是的。该参数已打开,但该 url 参数仅适用于 http 和 ftp,但它已经在工作
猜你喜欢
  • 2018-08-24
  • 2015-07-29
  • 2017-11-09
  • 2010-12-07
  • 1970-01-01
  • 2012-09-09
  • 2020-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多