PHP is_dir и mkdir не работают на подключенном сетевом диске

Я сопоставил свой диск Z: так, чтобы он указывал на общую папку на другом сервере в моей сети в проводнике Windows. Я могу получить доступ к файлам и читать/писать там просто отлично.

Когда я пытаюсь выполнить mkdir() из PHP, я получаю сообщение об ошибке «Нет такого файла или каталога».

В качестве теста я дал всем доступ на чтение, запись и выполнение, и он все еще не работает.

Код, который я использую:

mkdir('Y:/newfolder/', 0777);

Я также попытался снова сопоставить диск в PHP безрезультатно:

system('net use Y: "\\DEV01\share" Password1 /user:Administrator /persistent:no>nul 2>&1");
mkdir('Y:/newfolder/', 0777);

Пожалуйста помогите.


person Freddie    schedule 08.08.2012    source источник
comment
Можете ли вы отправить код, который вы используете, в mkdir? Используете ли вы второй аргумент $mode   -  person gunnx    schedule 09.08.2012
comment
Я отредактировал свой исходный пост, включив в него примеры кода.   -  person Freddie    schedule 09.08.2012
comment
попробуйте использовать \\ вместо / для пути   -  person gunnx    schedule 09.08.2012
comment
не устранил проблему. Обе машины являются частью рабочей группы, кстати.   -  person Freddie    schedule 09.08.2012
comment
mkdir('Y:\\новая папка'); это ты пробовал?   -  person gunnx    schedule 09.08.2012
comment
да, я пробовал это, а также mkdir('Y:\\newfolder\\');   -  person Freddie    schedule 09.08.2012
comment
Вы пробовали \\DEV01\share\newfolder?   -  person Pekka    schedule 09.08.2012
comment
вам может понадобиться сделать \\\\DEV01\\share\\newfolder   -  person gunnx    schedule 09.08.2012
comment
ни один из вышеперечисленных тоже не работал.   -  person Freddie    schedule 09.08.2012
comment
Значит, все та же ошибка? Случайно не отказано в разрешении?   -  person gunnx    schedule 09.08.2012
comment
Может быть, но я не получаю сообщение об отказе в разрешении.   -  person Freddie    schedule 09.08.2012


Ответы (1)


Спасибо всем за ваши советы. Оказалось, что это синтаксическая ошибка. В коде отображения. Вы должны сопоставить диск вручную в PHP-скрипте, как я сделал выше, за исключением того, что вам нужно избегать обратной косой черты. Вместо \\DEV01\share необходимо использовать \\\\DEV01\\share.

person Freddie    schedule 09.08.2012