“Conocimiento Programación>Programación PHP /MySQL

PHP Mkdir permiso no funciona

2011/7/15
PHP proporciona una función llamada " mkdir " que le permite crear un nuevo directorio. Un argumento opcional especifica el valor numérico de los permisos que se asignarán al nuevo directorio . Por ejemplo , los permisos de " 0777 " proporcionan leer, escribir y ejecutar el "dueño ", "grupo" y "otros". Hay varios casos en los que la asignación permiso con la "función mkdir " aparecerá como si no funciona debido a que el nuevo directorio no tiene los mismos permisos que pasa a la función . No se aplica a Windows

La lista de permisos de alimentación a la función " mkdir " son válidos sólo en sistemas de archivos basados ​​en Linux . Esto significa que no se puede asociar permisos con un directorio que ha creado en Windows. Si pasa los permisos con la función " mkdir " en Windows , PHP simplemente los ignora .
Default User Account

Recuerde que una ejecución de un script en el servidor Web de el navegador se ejecuta bajo la cuenta de usuario predeterminada en el servidor web , tales como " www -data ", que no están bajo su cuenta de usuario . Si los permisos de directorio no están funcionando , puede ser porque usted está probando un script en su cuenta en lugar de la cuenta de usuario predeterminada . Puede probar el script como usuario predeterminado escribiendo "su www -data " y la exploración de los permisos de directorio asignados a ese usuario.
Directorio Máscara

Si los permisos resultantes de un nuevo directorio son diferentes de lo que ha pasado , puede ser debido a una máscara de directorio de aplicación a los permisos . La máscara es mantenido por el servidor Web , no por PHP . Para eludir la máscara , utilice la función " umask " para ajustar la máscara a cero , cree el directorio con " mkdir " y cambiar los permisos del directorio utilizando la función " chmod "

Por ejemplo : .

< php $ save = umask ( 0 ); if ( mkdir ($ newdir ) ) chmod ($ newdir , 0755 ) ; umask ($ guardar) ; ? >

Asignación recursiva

La función " mkdir " toma un segundo argumento opcional que crea directorios anidados de forma recursiva. Al asignar permisos de directorio recursivamente , los permisos no se pueden ejecutar en el orden correcto y podría obtener resultados diferentes de lo que esperaba . Para garantizar el orden correcto , utilice la función "chmod " para asignar permisos de directorio al nuevo directorio después de crearlo con la función " mkdir "

Por ejemplo : .

< ¿ phpif ( mkdir ($ newdir , 0755 , true) ) chmod ($ newdir , 0755 ) ; ? >

Programación PHP /MySQL
Cómo cortar parte de una cadena en PHP
Cómo instalar Zend para PHP 5.3
Perl MySQL Tutorial
Cómo usar Sprint F- PHP
Cómo cambiar la contraseña de Scripts PHP para MySQL
Cómo mostrar texto de MySQL en PHP
Cómo agregar un servidor a Netbeans
Cómo convertir un conde en una matriz en PHP
Conocimiento de la computadora © http://www.ordenador.online