Подключенные сетевые диски - PullRequest
3 голосов
/ 07 апреля 2010

Я подключил сетевой диск к компьютеру в моей домашней сети. Теперь я пытаюсь получить к нему доступ через PHP - я сделал этот быстрый тест:

echo opendir('Z:\\');

Это дает мне:

Warning: opendir(Z:\) [function.opendir]: failed to open dir: No error in C:\wamp\www\webs\tester-function.php  on line 3

Что я здесь не так сделал?

Я не хочу, чтобы мои пользователи печатали путь UNC, поэтому есть ли способ получить для них путь UNC, и, возможно, это сработает, когда я попытаюсь получить к нему доступ? Это возможно на языках Microsoft, но я не уверен, как заставить PHP сделать это - возможно, с помощью команды cmd.exe?

Обратите внимание, что подключенный диск существует, так как я его вижу и могу получить к нему доступ. Это также, похоже, не является проблемой с разрешениями, так как я предполагаю, что он пожаловался бы на это, ЕСЛИ он мог получить доступ к этому диску ... правильно?

Спасибо всем за помощь

Ответы [ 3 ]

5 голосов
/ 07 апреля 2010

Пользовательские примечания к opendir () имеют это:

Я пытался получить доступ к сетевым дискам с помощью этой функции opendir. Я прочитал так много сообщений о том, что получить доступ к сетевому диску практически невозможно, и, наконец, я нашел ответ; Есть два шага для доступа к сетевому диску с помощью PHP на том же компьютере или на другом компьютере.

в этом случае права пользователя, казалось, действительно были проблемой, которая может отличаться от ваших прав в зависимости от того, на каком пользовательском PHP / веб-сервере запущен.

3 голосов
/ 10 сентября 2013

просто, используйте: "\\\\server\\dir\\subfolder" в качестве пути. убедитесь, что вы можете получить доступ к «серверу».

у меня работает.
$arquivo = "\\\\server\\dir\\subfolder\\file.txt"; echo is_file($arquivo); //print 1.

3 голосов
/ 25 июня 2012

Откройте MMC Services, перейдя в «Пуск» -> «Выполнить» (или используя окно поиска, если используется Windows 7), набрав Services.msc и нажав ввод. Найдите сервис Apache. Никогда не использовавший WAMP, я понятия не имею, как он назван. Надеюсь, это начинается со слова «Apache», и, следовательно, не должно быть слишком трудно найти. Щелкните правой кнопкой мыши сервис и выберите «Свойства». Перейдите на вкладку «Вход в систему». Установите переключатель рядом с «This account:» и введите учетные данные для учетной записи пользователя, под которой вы хотите запустить Apache. Если это учетная запись сети / домена, используйте синтаксис «ДОМЕН \ пользователь» (или найдите учетную запись с помощью кнопки «Обзор»). Выберите OK и перезапустите службу Apache. Убедитесь, что ваши изменения работали, отыскивая процесс «httpd.exe» в диспетчере задач и проверяя, под каким именем пользователя запущен процесс.

ссылка http://board.phpbuilder.com/board/showthread.php?t=10371870&page=2

...