Я пытаюсь создать файл в общей сетевой папке. Эта общая сетевая папка монтируется на локальном компьютере как Z:
Я хочу создать файл на Z: для этого я запускаю следующий код
$f = fopen("z:\abc\file\test.txt","w") or die("Can't open file");
Я также попробовал это ниже случая
$f = fopen("//xx.xx.xx.xx/share/abc/file/test.txt","w") or die("Can't open file");
$f = fopen("\\\\xx.xx.xx.xx\\share\\abc\\file\\test.txt","w") or die("Can't open file");
Это дает ниже ошибку
Warning: fopen(z:\abc\file\test.txt): failed to open stream: No such file or directory in C:\inetpub\wwwroot\abc\test.php on line 3
can't open file
Я могу открыть эту общую папку, а также поделиться с каждой группой с полным доступом к управлению.
Я также следовал Прочитать файл на сетевом диске & fopen не открывает файлы по сети но это не сработало для меня
Проблема в том, что у пользователя iis нет прав на сетевые ресурсы.
Единственный метод (который я знаю) для записи на сетевом ресурсе — это открыть общий доступ для всех, для этого вам нужно использовать gpedit.msc на файловом сервере.
Путь в gpedit.msc:
Конфигурация компьютера -> Настройки Windows -> Настройки безопасности -> Локальные политики -> Параметры безопасности
Ключ для изменения:
Доступ к сети: общие ресурсы, к которым можно получить доступ анонимно
Этот параметр безопасности определяет, к каким сетевым ресурсам могут обращаться анонимные пользователи.
По умолчанию: не указано.
Других решений пока нет …