Я пытался безрезультатно прочитать каталог или файл из сети, используя PHP. Операция работает нормально, если каталоги локальные, но мне повезло с сетью. Мой системный администратор сказал мне, что папки, к которым я пытаюсь получить доступ, являются общими. Я также могу читать файлы с помощью Python. Я хочу получить доступ к двум папкам, одна с именем пользователя и паролем, а другая не имеет защиты. Ради этой конкретной проблемы я был бы счастлив иметь возможность получить доступ к ней без защиты паролем. Все, что у него есть — это мусорный файл, который я положил туда в качестве эксперимента. Рассматриваемый код, представляющий собой простой экспериментальный код, приведен ниже.
Я получил ошибку:
Предупреждение: opendir (M:, M :): система не может найти указанный путь. (код: «3)
<?php
$location = "\\\\192.168.0.16\\geo";
$user = "";
$pass = "";
$letter = "M";system("net use ".$letter.": \"".$location."\" ".$pass." /user:".$user." /persistent:no>nul 2>&1");$dir = $letter . ":";
#if(is_dir($dir)){
if($dh = opendir($dir)){
while(($file = readdir($dh)) !== false){
echo "filename: $file : filetype: ".filetype($dir . $file) . "\n";
}
closedir($dh);
}
#}
?>
Попробуйте изменить:
From: $dir = $letter . ":";
To: $dir = $letter . ":/"; // or $dir = $letter . ":\\";
В некоторых случаях косая черта имеет значение.
После этого попытайтесь настроить ваш веб-сервер так, чтобы он соответствовал каталогу:
<Directory "M:\Path\To\Your\Directory">
Order Deny,Allow
Allow from all
</Directory>
Других решений пока нет …