php для доступа к общей папке smb (пользователь / пароль защищен) - PullRequest
3 голосов
/ 17 января 2012
  1. WAMP-сервер
  2. Функция PHP fopen должна открывать файл в общей папке //server/folder1/file1.txt
  3. php имеет разрешения пользователя SYSTEM, но общая папка виднатолько для userX / password

как я могу открыть этот удаленный файл внутри php-скрипта?

Ответы [ 2 ]

4 голосов
/ 17 января 2012

Вы можете указать имя пользователя и пароль в пути: //user:password@server/folder1/file1.txt

2 голосов
/ 21 апреля 2016

У меня была точно такая же проблема, и ответ Sjoerd не работал для меня в Windows.

Я написал функцию монтирования в PHP, которая в основном exec s:

net use "\\smbserver\share" /user:"myuser" "mypassword" /persistent:no

Тогда вы обычно можете получить доступ к путям типа \\smbserver\share/path/file.

Это работает для всех функций, указанных в таблице параметров для оболочек файлов :

  • Позволяет читать
  • Позволяет писать
  • Позволяет добавить
  • Позволяет одновременное чтение и запись
  • Поддерживает стат ()
  • Поддерживает unlink ()
  • Поддерживает переименование ()
  • Поддерживает mkdir ()
  • Поддерживает rmdir ()

Это работает совершенно стабильно на удаленных ресурсах, но у меня не работает, когда я использовал localhost с apache в качестве SYSTEM.

Не забудьте потом размонтировать с помощью exec ing:

net use "\\smbserver\share" /delete /yes

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...