(PHP 4, PHP 5)
chmod — Cambia el modo de archivo
$filename
, int $mode
)
Intenta cambiar el modo de un archivo especificado por el dado en
mode
.
filename
Ruta del archivo.
mode
Observe que mode
no se asume que sea automáticamente
un valor octal, por lo que las cadenas (tales como "g+w") no
funcionarán correctamente. Para asegurarse de que la operación sea la esperada,
necesita poner el sufijo cero (0) a mode
:
<?php
chmod("/directorio/archivo", 755); // decimal; probablemente incorrecto
chmod("/directorio/archivo", "u+rwx,go+rx"); // cadena; incorrecto
chmod("/directorio/archivo", 0755); // octal; valor correcto de modo
?>
El parámetro mode
consiste en tres componentes
numéricos octales que especifican las restricciones de acceso para el propietario,
el grupo de ususarios al que pertenece el propietario, y para todos los demás, en
este orden. Un componente puede ser computado sumando los permisos
necesarios para ese usuario objetivo base. El número 1 significa que se conceden
derechos de ejecución, el número 2 significa que se puede escribir
en al archivo, el número 4 significa que el archivo se puede leer. Sume
estos números para especificar los derechos necesarios. También puede leer más
sobre los modos en sistemas Unix con 'man 1 chmod'
y 'man 2 chmod'.
<?php
// Lectura y escritura para el propietario, nada para los demás
chmod("/directorio/archivo", 0600);
// Lectura y escritura para el propietario, lectura para los demás
chmod("/directorio/archivo", 0644);
// Todo para el propietario, lectura y ejecución para los otros
chmod("/directorio/archivo", 0755);
// Todo para el propietario, lectura y ejecución para el grupo del propietario
chmod("/directorio/archivo", 0750);
?>
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Nota:
El usuario actual es el usuario bajo el que se ejecuta PHP. Probablemente no sea el mismo usuario que se utilize para el intérprete de comandos normal o el acceso FTP. EL modo puede ser cambiado sólo por el usuario al que pertenece el archivo en la mayoría de sistemas.
Nota: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.
Nota:
Cuando safe mode está habilitado, PHP verifica si los archivos o directorios en los que se va a operar tienen el mismo UID (propietario) que el del script que está siendo ejecutado. Además, no se pueden establecer los bits SUID, SGID y sticky.