chown

(PHP 4, PHP 5, PHP 7, PHP 8)

chownCambia el propietario del fichero

Descripción

chown(string $filename, mixed $user): bool

Intenta cambiar el propietario del fichero filename por el usuario user. Sólo el superusuario puede cambiar el propietario de un fichero.

Parámetros

filename

La ruta hacia el fichero.

user

Un nombre o número de usuario.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Uso sencillo de chown()

<?php

// El nombre de fichero y el nombre de usuario a emplear
$nombre_fichero= "foo.php";
$ruta = "/home/sites/php.net/public_html/sandbox/" . $nombre_fichero ;
$nombre_usuario = "root";

// Establecer el usuario
chown($ruta, $nombre_usuario);

// Verificar el resultado
$stat = stat($ruta);
print_r(posix_getpwuid($stat['uid']));

?>

El resultado del ejemplo sería algo similar a:

Array
(
    [name] => root
    [passwd] => x
    [uid] => 0
    [gid] => 0
    [gecos] => root
    [dir] => /root
    [shell] => /bin/bash
)

Notas

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.

Ver también

  • chmod() - Cambia el modo de un fichero
  • chgrp() - Cambia el grupo del archivo

add a note

User Contributed Notes 2 notes

up
7
martijn at sigterm dot nl
21 years ago
If chown is filled with a variable ( chown ("myfile", $uid) the uid will be looked up through pwget_uid.

So if you need to set a non existing uid use inval($uid).
up
0
mindlessconsumer+phpnet at gmail dot com
23 days ago
It may be worth making explicitly clear that, while the shell's `chown` command allows both user and group to be set in one system call like this `chown username:groupname filename`, PHP's version unfortunately does not:

<?php
// This will not work.
chown($filename, 'username:groupname');

// You have to use two separate calls.
chown($filename, 'username');
chgrp($filename, 'groupname');
?>
To Top