(PHP 4, PHP 5, PHP 7, PHP 8)
chmod — Cambia el modo de un fichero
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 operació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);
?>
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.