使用php访问来自不同域的文件

时间:2013-02-06 07:33:08

标签: php file cross-domain opendir network-share

我将PDF文档存储在服务器的共享文件夹中,我需要通过文件浏览从Web应用程序访问它们。我知道那里存储的文件的名称。所以我的链接就像(文件:\\ server \ folder \ abc.pdf )。

我的php应用程序位于xampp上运行的Web服务器中。但共享文件夹位于不同的域中。 (不在Web服务器文件夹中 - 普通文件夹)。当我尝试访问文件时,它显示“找不到文件:\\ server \ folder \ abc.pdf。确保路径或Internet地址正确”。

<a href="file:\\server\folder\abc.pdf" >Load File</a> 

<?php 
echo $dir = '\\\\server\\folder\\'; 

$dh = opendir($dir); 

while (($file = readdir($dh)) !== false) { 
echo "<a href=".$dir.$file.">".$file."<br></a>"; 
} 

closedir($dh); 

?>

当我在地址栏上输入“\\ server \ folder”时,它会提示输入该文件夹的用户名和密码,因为它位于不同的域中(我的当前域已经在我的登录中进行了身份验证)。当我为该文件夹提供Windows身份验证时,我的Web应用程序URL将正常工作并成功打开该文件。

我希望在不提示目录安全性用户名和密码的情况下完成此任务。我的Web应用程序将被许多用户使用,因此本地映射网络驱动器也是不可行的。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

  

得到答案

我们可以将网络驱动器映射到服务器并保存“地图网络驱动器”向导中提示的用户名和密码,然后可以正常使用映射网络向导。

以下代码对我有用。

$dir = "A:/folder/";
$dh = opendir($dir);
while (($file = readdir($dh)) !== false)
{
 echo 'The file is : ' . $file . "\n";
}
closedir($dh);