通过php通过身份验证读取网络文件

时间:2013-03-04 06:05:18

标签: php authentication

我在本地网络中有一个存储空间,它有一个包含文件的文件夹树。

我在同一网络中的另一台机器上有一个Web服务器,Apache + PHP。

我需要通过php脚本访问存储上的这些文件..

我尝试了以下内容:

$ data = file_get_contents(“\\ SomeServer \ SomeFolder \ test.txt”);

我得到了

Warning: file_get_contents(\\SomeServer\SomeFolder\test.txt) [function.file-get-contents]: failed to open stream: Invalid argument

我尝试使用登录身份验证运行Apache,该身份验证可以访问存储文件夹,无需更改。

任何帮助?

1 个答案:

答案 0 :(得分:1)

如果不映射驱动器访问权限,则无法直接读取文件。

如果服务器系统具有LINUX环境,则必须在服务器系统上安装驱动器并提供驱动器盘符名称,然后尝试访问数据。

如果Windows身份验证访问网络文件,HTTP服务器可能没有正确的权限,因此它会返回权限被拒绝。

这是你可以尝试的:

注意:提供的共享驱动器/文件夹必须写入写入。默认情况下,仅提供读取权限。

*设置Apache服务完整权限

我确信您已完成上述操作但未提供对apache服务器的完全访问权限。请执行以下步骤以提供对apache服务器的完全访问权限。

全局目录

在httpd.conf中设置

Webiste vhosts

的httpd-vhosts.conf

Options Indexes FollowSymLinks Includes ExecCGI

默认情况下,您的全局目录设置为:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

将选项设置为:选项索引FollowSymLinks包含ExecCGI

最后,它应该看起来像:

<Directory />
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order deny,allow
   Allow from all
</Directory>