Вопрос

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

Что я сделал неправильно здесь?

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

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

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

Это было полезно?

Решение

То Пользователь предоставил заметки к OpenDIR () Есть ли это:

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

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

Другие советы

Откройте MMC Services MMC, перейдем к запуску -> запустить (или с помощью окна поиска, если использовать Windows 7) и набрав SERVICES.MSC и нажав Enter. Найти службу Apache. Никогда не использовал WAMP, я понятия не имею, что он был назван. Надеюсь, он начинается со слов «Apache», и поэтому не должно быть слишком сложно найти. Щелкните правой кнопкой мыши обслуживание и выберите «Свойства». Переключитесь на вкладку «Журнал». Выберите радиопередачу рядом с «этой учетной записью:» и введите в учетные данные для учетной записи пользователя, вы хотите запустить Apache под. Если это учетная запись сетевого / домена, используйте синтаксис «Домен user» (или найдите учетную запись с помощью кнопки Обзор). Выберите ОК и перезапустите службу 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top