Доступ к сетевой папке из php

199
06 ноября 2021, 10:30

Нужно получить файлы из сетевой папки через php (web-сервер Apache+php на Windows2008 R2 Enterprise)
На самом сервере я могу подключить сетевую папку, все данные мне в ней доступны, но когда пытаюсь тоже самое сделать через php, в ответ получаю false.
Пробовала подключаться следующим образом:

$directory_path="\\\\\192.168.1.5\\my_dir\\";
//$directory_path="//192.168.1.5\my_dir\";
if(!is_dir($directory_path))
  die($directory_path.' is not direction!');
if(!file_exists($directory_path.'text.txt'))
  die($directory_path.'text.txt not found!');

Программа валится еще на проверке директории. Пробовала прописывать разные пути. На сам каталог дала пользователям полные права, Apache запускаю под администратором, в реестре пробовала прописывать переменную HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\RestrictNullSessAccess = 0 по совету отсюда.
Пожалуйста, подскажите, какие еще настройки нужно сделать, чтобы эта сетевая папка стала доступной?
P.S. Попробовала создать ссылку по рекомендации.

 mklink /D MySymLink "\\server\path\to\folder"  

PHP видит каталог MySymLink но на все что внутри него выводит false.

Answer 1

У вас лишний слеш попробуйте вот так:

$directory_path="\\\\192.168.1.5\\my_dir\\";

Или вот так

$path = '\\networkdrive\somepath\your_directory';
$user = "username";
$pass = "password";
$drive_letter = "Q";
system("net use ".$drive_letter.": \"".$path."\" ".$pass." /user:".$user." /persistent:no>nul 2>&1");
$location = $drive_letter.":/somepath/your_directory";
if ($handle = opendir($location)) {
    while (false !== ($entry = readdir($handle))) {
    echo "$entry";
    } 
    closedir($handle);
}
READ ALSO
Не работает mysqli_real_escape_string

Не работает mysqli_real_escape_string

Вот, где я сталкиваюсь с пробоемой:

116
Помогите советом, как подключить php sdk QIWI

Помогите советом, как подключить php sdk QIWI

Я перечитал все API QIWI, понял как создать платеж и тд но не могу понять как подключить само ядро api https://developer

96
Как разделить строку

Как разделить строку

Имеется такая строка:

248
PHP-FPM в какую папку положить файлы?

PHP-FPM в какую папку положить файлы?

Сразу оговорюсь, что в php и связаной с ним инфраструктуре я полный ноль

171