mkdir () de PHP, chmod () y Windows
Pregunta
Estoy usando la función PHP mkdir ($ ruta, 0777) para crear un nuevo directorio en un servidor Apache (que se ejecuta en Windows).
Cuando creo esto y ver las carpetas, Windows ha establecido el directorio como de sólo lectura. ¿Hay una manera de cambiar esto sin usar exec () para Cacls.exe? La documentación de PHP establece que chmod () no funciona en Windows, pero no dice nada acerca de un método de sustitución.
Google parece ser un poco inútil en este caso.
EDIT: Después de varios minutos hablando con los administradores de mi institución educativa de dos bits, parece que su servidor PHP prueba para los estudiantes se ejecuta fuera de una unidad USB. Tengo la sensación de que esto tenga algo que ver con ella hiera la cabeza
Solución
La siguiente:
<?php
mkdir( "foo" )
?>
(obsérvese que no hay modo especificado) que funciona para mí en Win2K -. Crea una carpeta sin atributos establecidos
Editar Sólo tenía un pensamiento - no podía ser algo que ver con los permisos? Pruebe a ejecutar el código anterior de la línea de comandos y ver lo que sucede:
C:> c:\php\pgp.exe
<?php
mkdir( "foo" )
?>
^Z
Otros consejos
De acuerdo con la documentación de PHP, el parámetro de modo se ignora por completo en Windows (pero pasará al 0777, por lo que no tendría que especificar todos modos). Trate de no especificar el modo en absoluto y ver qué pasa. Tal vez se mete algo?
Estoy utilizando php y en cakephp para las ventanas como mkdir ( "mi nombre dir", 0777, true); Está bien trabajando para mí.