(PHP 4, PHP 5, PHP 7)
chmod — Cambia el modo de un fichero
$filename
, int $mode
) : bool
Intenta cambiar el modo de un fichero especificado por el dado en
mode
.
filename
Ruta del fichero.
mode
Observe que no se asume que mode
sea automáticamente
un valor octal, por lo que, para asegurarse de que la opración sea la esperada,
es necesario prefijar mode
con un cero (0).
String tales como "g+w" no funcionarán adecuadamente.
<?php
chmod("/directorio/fichero", 755); // decimal; probablemente incorrecto
chmod("/directorio/fichero", "u+rwx,go+rx"); // string; incorrecto
chmod("/directorio/fichero", 0755); // octal; valor de modo correcto
?>
El parámetro mode
consiste en tres componentes
numéricos octales que especifican las restricciones de acceso para el propietario,
el grupo de usuarios 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 el fichero, el número 4 significa que el fichero se puede leer. Sume
estos números para especificar los derechos necesarios. Se 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/fichero", 0600);
// Lectura y escritura para el propietario, lectura para los demás
chmod("/directorio/fichero", 0644);
// Todo para el propietario, lectura y ejecución para los otros
chmod("/directorio/fichero", 0755);
// Todo para el propietario, lectura y ejecución para el grupo del propietario
chmod("/directorio/fichero", 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 fichero 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 modo seguro está habilitado, PHP verifica si los ficheros o directorios sobre 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.