PHP | función lstat( )

La función lstat() en PHP se usa para devolver información sobre un archivo o un enlace simbólico. Recopila estadísticas del archivo que se envía como parámetro a la función lstat(). La función devuelve una array que incluye información sobre los siguientes elementos: 
 

  • [0] o [dev] – Número de dispositivo
  • [1] o [ino]: número de iNode
  • [2] o [modo]: modo de protección de iNode
  • [3] o [nlink] – Número de enlaces
  • [4] o [uid]: ID de usuario del propietario
  • [5] o [gid]: ID de grupo del propietario
  • [6] o [rdev]: tipo de dispositivo de iNode
  • [7] o [tamaño] – Tamaño en bytes
  • [8] o [atime] – Último acceso (como marca de tiempo de Unix)
  • [9] o [mtime]: última modificación (como marca de tiempo de Unix)
  • [10] o [ctime]: último cambio de iNode (como marca de tiempo de Unix)
  • [11] o [blksize]: tamaño de bloque del sistema de archivos IO (si es compatible)
  • [12] o [bloques] – Número de bloques asignados

Nota: 
 

Esta función es similar a stat() , excepto que si el parámetro del archivo es un enlace simbólico, el estado del enlace simbólico devuelve el estado del archivo al que apunta el enlace simbólico.

Sintaxis: 
 

lstat(file)

Parámetros utilizados: 
la función lstat() en PHP acepta un parámetro. 
 

  • archivo: Es un parámetro obligatorio que especifica el archivo.

Valor devuelto: 
Devuelve una array con los elementos mencionados anteriormente.
Excepciones: 
 

  1. Los resultados de la función lstat() difieren de un servidor a otro.
  2. El resultado de esta función se almacena en caché y, por lo tanto, la función clearstatcache() se usa para borrar el caché.
  3. Se emite una E_WARNING en caso de falla.

Ejemplo 1 
 

Input : print_r(lstat("gfg.txt"));

Output :
Array
(
[0] => 0
[1] => 0
[2] => 33206
[3] => 1
[4] => 0
[5] => 0
[6] => 0
[7] => 92
[8] => 1141633430
[9] => 1141298003
[10] => 1138609592
[11] => -1
[12] => -1
[dev] => 0
[ino] => 0
[mode] => 33206
[nlink] => 1
[uid] => 0
[gid] => 0
[rdev] => 0
[size] => 92
[atime] => 1141633430
[mtime] => 1141298003
[ctime] => 1138609592
[blksize] => -1
[blocks] => -1
)

Ejemplo: 2 
 

Input : symlink('gfg.php', 'gfg');
        array_diff(stat('gfg'), lstat('gfg'));
Output :
Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Explanation: Difference of the results of stat() and lstat() function

Los siguientes programas ilustran la función lstat().
Programa 1
 

php

<?php
// displaying information using lstat() function
print_r(lstat("gfg.txt"));
?>

Producción: 
 

Array
(
[0] => 0
[1] => 0
[2] => 33206
[3] => 1
[4] => 0
[5] => 0
[6] => 0
[7] => 92
[8] => 1141633430
[9] => 1141298003
[10] => 1138609592
[11] => -1
[12] => -1
[dev] => 0
[ino] => 0
[mode] => 33206
[nlink] => 1
[uid] => 0
[gid] => 0
[rdev] => 0
[size] => 92
[atime] => 1141633430
[mtime] => 1141298003
[ctime] => 1138609592
[blksize] => -1
[blocks] => -1
)

Programa 2
 

php

<?php
 
// creating a symbolic link
symlink('gfg.php', 'gfg');
 
// comparing information returned
//  by stat() and lstat() function
array_diff(stat('gfg'), lstat('gfg'));
?>

Producción: 
 

Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Programa 3
 

php

<?php
// displaying information of
// zip file using lstat() function
$myfile = lstat("./gfg.zip");
echo($myfile);
?>

Producción: 
 

Array (
[0] => 2161 
[1] => 18351063 
[2] => 33188 
[3] => 1 
[4] => 1036 
[5] => 1036 
[6] => 0 
[7] => 270081 
[8] => 1382409024 
[9] => 1382409631 
[10] => 1382409631 
[11] => 4096 
[12] => 528
[dev] => 2161 
[ino] => 18351063 
[mode] => 33188 
[nlink] => 1 
[uid] => 1036 
[gid] => 1036 
[rdev] => 0 
[size] => 270081 
[atime] => 1382409024 
[mtime] => 1382409631 
[ctime] => 1382409631 
[blksize] => 4096 
[blocks] => 528 )

Artículo relacionado: PHP |
Referencia de  la función stat() :
http://php.net/manual/en/function.lstat.php
 

Publicación traducida automáticamente

Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *