stat
(PHP 4, PHP 5, PHP 7)
stat — Renvoie les informations à propos d'un fichier
Description
$filename
)
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.
Valeurs de retour
Numéro | Nom | 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 de 512 octets alloués (**) |
** - 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
.
Note: Comme le type entier de PHP est signé et que de nombreuses plates-formes utilisent des entiers de 32 bits, certaines fonctions relatives au système de fichiers peuvent retourner des résultats étranges pour les fichiers de taille supérieure à 2 Go.
Exemples
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 après 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 'L\'appel à touch() a réussi...';
}
}
?>
Notes
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 et des gestionnaires supportés pour connaître les protocoles supportant la famille de fonctionnalités de stat().
Voir aussi
- lstat() - Retourne les informations sur un fichier ou un lien symbolique
- fstat() - Lit les informations sur un fichier à partir d'un pointeur de fichier
- filemtime() - Lit la date de dernière modification du fichier
- filegroup() - Lire le nom du groupe
Version en cache
23/12/2024 01:01:17 Cette version de la page est en cache (à la date du 23/12/2024 01:01:17) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.stat.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.