PHP mkdir (), chmod () и Windows - PullRequest
       27

PHP mkdir (), chmod () и Windows

3 голосов
/ 11 апреля 2009

Я использую функцию PHP mkdir ($ path, 0777) для создания нового каталога на сервере Apache (работает в Windows).

Когда я создаю это и просматриваю папки, Windows установила каталог только для чтения. Есть ли способ изменить это без использования exec () для cacls.exe? В документации PHP говорится, что chmod () не работает в Windows, но ничего не говорит о методе замены.

Google, кажется, немного бесполезен в этом.

РЕДАКТИРОВАТЬ: После нескольких минут разговоров с администраторами в моем двухбитном учебном заведении кажется, что их тестовый сервер PHP для студентов работает на USB-накопителе. У меня такое ощущение, что это как-то связано с этим шлепок головой

Ответы [ 3 ]

2 голосов
/ 11 апреля 2009

следующее:

<?php
mkdir( "foo" )
?>

(обратите внимание, режим не указан) работает на Win2K - он создает папку без установленных атрибутов.

Редактировать: Просто подумал - это может быть связано с разрешениями? Попробуйте запустить приведенный выше код из командной строки и посмотрите, что произойдет:

C:> c:\php\pgp.exe
    <?php
    mkdir( "foo" )
    ?>
    ^Z
1 голос
/ 07 мая 2010

я использую в php и cakephp для windows как mkdir («my dir name», 0777, true); у меня это нормально работает.

1 голос
/ 11 апреля 2009

Согласно документации PHP, параметр mode полностью игнорируется в Windows (но по умолчанию равен 0777, поэтому вам не нужно его указывать). Попробуйте вообще не указывать режим и посмотрите, что получится. Может, это что-то испортило?

...