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

PHP Mkdir permiso no funciona

2013/3/10
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 permitir el acceso a una base de datos MySQL
Cómo quitar una clave de matriz asociativa de PHP
Cómo realizar una actualización de MySQL Query
Cómo cambiar el pie de página PHP en Joomla
Cómo usar PHP para crear un mensaje de alerta
Cómo quitar CSVs duplicados en PHP
Cómo cambiar una fuente con PHP
Cómo: Acceso directo a MySQL en GoDaddy SSH
Conocimientos Informáticos © http://www.ordenador.online