Я пытаюсь получить доступ к образу с сетевого диска, который подключен к моей машине.
Но я не могу получить к нему доступ с помощью 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);
}
?>
По моему мнению, проблема связана с пользователем, который запускает 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);
}
Других решений пока нет …