-1

我正在尝试从连接到我的机器的网络驱动器访问图像。但我无法使用 php 访问它。我使用 net use 命令对其进行了映射,但我仍然无法访问它。请帮帮我。

 if($fh=opendir('\\\\F:')) {
 while (false !== ($fi =readdir($fh))) {
 echo "$fi\n";
 }
 }

即使我也尝试了下面的代码

   <?php
    $path = '\\Z:';

    $user = "administrator";
    $pass = "dev";
    $drive_letter = "Z";

    system("net use ".$drive_letter.": \"".$path."\" ".$pass." /user:".$user." /persistent:no>nul 2>&1");
    $location = $drive_letter.":/";

    if ($handle = opendir($location)) {
       while (false !== ($entry = readdir($handle))) {
       echo "$entry"; echo "<br>";
       } 
       closedir($handle);
     }
     ?>        
4

1 回答 1

0

我认为问题与运行 Apache 的用户有关,因为您的用户帐户上有一个带有凭据的映射驱动器,它与运行 Apache 的用户不同。

首先,让 Apache 以管理员身份运行,然后在脚本中运行 net use 命令:

<?php
$path = '\\\\younetworkdrive\\yoursharedfolder'; 

$user = "mickeymouse";
$pass = "waltdisney";
$drive_letter = "Z";

system("net use ".$drive_letter.": \"".$path."\" ".$pass." /user:".$user." /persistent:no>nul 2>&1");
$location = $drive_letter.":/";

if ($handle = opendir($location)) {
    while (false !== ($entry = readdir($handle))) {
	echo "$entry";
    } 
    closedir($handle);
}

我刚刚尝试过......它的工作

于 2018-02-15T12:24:03.923 回答