Задать вопрос
@parazitl2

Как в PHP открыть удалённую директорию?

На предприятии есть сеть, на компы пользователей подключен виртуальный диск. Есть сервер (Ubuntu + Apache + PHP), с которого работает один из разделов корпоративного портала. С этого сервера есть необходимость обращаться к папке на общем сетевом диске, получать каталог файлов и обрабатывать их.
Суть вопроса, папка видна из браузера ( file://192.168.100.90/fs/inv/ - открывается каталог ), видна из винды ( "Win" + "R" => \\192.168.100.90\fs\inv => открывается папка ), но из PHP не получается:

$dir = "\\\\192.168.100.90\\fs\\inv";  
$catalog = opendir($dir);


PHP Warning – yii\base\ErrorException
opendir(\\192.168.100.90\fs\inv): failed to open dir: No such file or directory


$dir = "file://192.168.100.90/fs/inv/";  
$catalog = opendir($dir);


PHP Warning – yii\base\ErrorException
opendir(): remote host file access not supported, file://192.168.100.90/fs/inv/


Читал, что проще монтировать удалённую папку в Убунту и читать из неё локально, но, по словам, это не очень надёжно.
Есть еще варианты?
  • Вопрос задан
  • 297 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 3
Stalker_RED
@Stalker_RED
Можно монтировать, можно SMB-клиент какой-нибудь использовать, но лучше бы сильно задуматься о том, как вы в эту ситуацию попали, и не стоит ли немножко архитектуру всей системы подправить.
Ответ написан
DieZz
@DieZz
Монтировать самый разумный вариант. Если не нравится то можно использовать какой либо клиент, например https://github.com/icewind1991/SMB
Ответ написан
Комментировать
Монтирование + open_basedir
php.net/manual/ru/ini.core.php#ini.open-basedir
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы