Подключенные сетевые диски

Я подключил сетевой диск к компьютеру в моей домашней сети. Теперь я пытаюсь получить к нему доступ через 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 ответа

Решение

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

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

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

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

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

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

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

Другие вопросы по тегам