(PHP 4, PHP 5)
stat — Renvoie les informations à propos d'un fichier
Renvoie les informations à propos du fichier filename . Si filename est un lien symbolique, les informations proviennent du fichier lui-même, et non du lien symbolique.
lstat() est identique à stat() sauf que les informations seront alors basées sur le lien symbolique.
Le chemin vers le fichier.
Numéro | Nom (depuis PHP 4.0.6) | Description |
---|---|---|
0 | dev | volume |
1 | ino | Numéro d'inode (*) |
2 | mode | droit d'accès à l'inode |
3 | nlink | nombre de liens |
4 | uid | userid du propriétaire (*) |
5 | gid | groupid du propriétaire (*) |
6 | rdev | type du volume, si le volume est une inode |
7 | size | taille en octets |
8 | atime | date de dernier accès (Unix timestamp) |
9 | mtime | date de dernière modification (Unix timestamp) |
10 | ctime | date de dernier changement d'inode (Unix timestamp) |
11 | blksize | taille de bloc (**) |
12 | blocks | nombre de blocs alloués (**) |
* - Sous Windows, vaut toujours 0.
* - uniquement sur les systèmes qui supportent le type st_blksize. Les autres systèmes (e.g. Windows) retournent -1.
En cas d'erreur, stat() retourne FALSE.
Si une erreur survient, une alerte de type E_WARNING est émise.
Version | Description |
---|---|
4.0.6 | En plus de retourner ces attributs dans un tableau numérique, ils peuvent être lus à l'aide de leurs indices, tels que notés près de chacun des paramètres |
Exemple #1 Exemple avec stat()
<?php
/* Récupération des informations */
$stat = stat('C:\php\php.exe');
/*
* Affichage de la date et heure de l'accès à ce fichier,
* identique à l'appel à la fonction fileatime()
*/
echo 'Date et heure d\'accès : ' . $stat['atime'];
/*
* Affiche de la date et heure de modification du fichier,
* identique à l'appel à la fonction filemtime()
*/
echo 'Date et heure de modification : ' . $stat['mtime'];
/* Affichage du numéro du device */
echo 'Numéro du Device : ' . $stat['dev'];
Exemple #2 Utilisation des informations issues de stat() conjointement avec la fonction touch()
<?php
/* Récupération des informations issues de la fonction stat */
$stat = @stat('C:\php\php.exe');
/* L'accès aux informations a-t-il échoué ? */
if(!$stat)
{
echo 'L\'appel à stat() a échoué...';
}
else
{
/*
* Nous voulons que la date et heure d'accès soit d'une semaine avant la date courante.
*/
$atime = $stat['atime'] + 604800;
/* Touchons le fichier ! */
if(!@touch('some_file.txt', time(), $atime))
{
echo 'Échec lors de l\'appel à la fonction touch()...';
}
else
{
echo 'La fonction touch() a réussi...';
}
}
?>
Note: Notez que la précision temporelle peut varier selon le système de fichiers utilisé.
Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.
Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().