Comment utiliser SplFileInfo pour les opérations sur les fichiers en php ?

WBOY
Libérer: 2023-06-01 19:02:01
original
1631 Les gens l'ont consulté

En tant que langage de programmation côté serveur largement utilisé, PHP fournit non seulement de nombreuses fonctions pratiques de traitement de fichiers, mais propose également des classes d'opérations de fichiers plus avancées. L'une des classes les plus utiles est SplFileInfo, qui nous permet d'effectuer des opérations de lecture et d'écriture de fichiers de manière plus flexible et efficace. Cet article explique comment utiliser la classe SplFileInfo en PHP pour les opérations sur les fichiers.

1. Présentation de la classe SplFileInfo

La classe SplFileInfo est une classe intégrée en PHP (aucune extension supplémentaire requise), qui fournit des méthodes pour accéder et exploiter les fichiers dans le système de fichiers. La classe SplFileInfo peut obtenir diverses informations sur le fichier, telles que le nom du fichier, la taille du fichier, l'heure de modification, etc., et peut également déterminer si un chemin est un fichier ou un répertoire.

Lorsque vous utilisez la classe SplFileInfo pour les opérations sur les fichiers, vous devez d'abord créer un objet SplFileInfo, puis appeler les méthodes qu'il fournit pour l'accès aux fichiers et les opérations. Ci-dessous, nous présenterons les méthodes courantes de la classe SplFileInfo une par une.

2. Méthodes d'accès aux fichiers

  1. getPath() et getRealPath()

La méthode getPath() et la méthode getRealPath() de la classe SplFileInfo sont utilisées pour obtenir le chemin du répertoire où se trouve le fichier. La méthode getPath() renverra le chemin absolu du répertoire où se trouve le fichier, tandis que la méthode getRealPath() renverra le chemin complet incluant le nom du fichier. L'exemple de code est le suivant : La méthode

$file = new SplFileInfo('text.txt');
$path = $file->getPath();          // 返回文件所在目录的绝对路径
$realpath = $file->getRealPath();  // 返回包含文件名的完整路径
Copier après la connexion
  1. getFilename()

getFilename() renvoie le nom du fichier (sans chemin), l'exemple d'utilisation est le suivant :

$file = new SplFileInfo('text.txt');
$fileName = $file->getFilename(); // 返回文件名(不含路径)
Copier après la connexion
  1. getSize()

getSize() renvoie la taille du fichier. L'unité est l'octet, généralement utilisée pour déterminer si la taille du fichier répond à certaines conditions, comme suit :

$file = new SplFileInfo('text.txt');
$fileSize = $file->getSize();     // 返回文件大小,单位为字节
if ($fileSize > 1024 * 1024) {
    // 如果文件大小超过1MB,则执行某些操作
}
Copier après la connexion
  1. getATime(), getMTime() et getCTime()

getATime(). renvoie l'heure du dernier accès au fichier (Access Time), qui est l'heure de lecture du fichier ; la méthode getMTime() renvoie l'heure de la dernière modification du fichier (Modify Time), qui est l'heure d'édition du fichier ; la méthode getCTime() renvoie l'heure de création du fichier (Create Time). Ces méthodes renvoient toutes l’heure au format horodatage. La méthode

$file = new SplFileInfo('text.txt');
$accessTime = $file->getATime();  // 返回文件最后一次访问时间,时间戳格式
$modifyTime = $file->getMTime();  // 返回文件最后一次修改时间,时间戳格式
$createTime = $file->getCTime();  // 返回文件创建时间,时间戳格式
Copier après la connexion
  1. getType()

getType() renvoie le type de fichier, c'est-à-dire fichier, répertoire ou autre (comme un lien symbolique, un périphérique de caractères, etc.). La valeur de retour de la méthode gettype() est l'une des constantes suivantes :

  • SplFileInfo :: Type_file -File
  • SplFileInfo :: Type_dir -Directory
  • SplFileInfo :: Type_link
  • SplFileInfo :: Type_fifo - Naming pipe道SplFileInfo::TYPE_CHAR - Périphérique de caractère
  • SplFileInfo::TYPE_BLK - Périphérique de blocage
  • SplFileInfo::TYPE_UNKNOWN - Autres types
$file = new SplFileInfo('text.txt');
$fileType = $file->getType();     // 返回文件类型
if ($fileType == SplFileInfo::TYPE_FILE) {
    // 如果是文件,则执行某些操作
}
Copier après la connexion

3. Méthodes d'opération de fichier

  1. isFile() et isDir()

isFile( ) La méthode est utilisée pour déterminer si le chemin actuel est un fichier et la méthode isDir() est utilisée pour déterminer si le chemin actuel est un répertoire. Ces deux méthodes renverront des valeurs de type booléen. L'exemple de code est le suivant :

$file = new SplFileInfo('text.txt');
if ($file->isFile()) {
    // 如果是文件,则执行某些操作
}
if ($file->isDir()) {
    // 如果是目录,则执行某些操作
}
Copier après la connexion
  1. openFile()

openFile() est utilisée pour ouvrir un fichier et renvoyer un objet SplFileObject, qui a davantage d'opérations de lecture et d'écriture de fichier. méthodes. Nous pouvons utiliser la méthode openFile() pour ouvrir des fichiers dans différents modes tels que lecture seule, écriture seule, ajout, etc. L'exemple de code est le suivant :

$file = new SplFileInfo('text.txt');
$fileObject = $file->openFile('r'); // 以只读模式打开文件
$fileObject->fgets();              // 读取一行数据
$fileObject->fwrite('Hello World'); // 写入数据
$fileObject = $file->openFile('a'); // 以追加模式打开同一个文件
$fileObject->fwrite('Bye');         // 再次写入数据
Copier après la connexion
  1. getPathInfo()

getPathInfo() renvoie la méthode un objet SplFileInfo contenant des informations de chemin. Par exemple, si nous avons besoin d'obtenir le chemin absolu du répertoire où se trouve le fichier et le nom du répertoire de niveau supérieur du répertoire, nous pouvons utiliser la méthode getPathInfo(). L'exemple de code est le suivant :

$file = new SplFileInfo('text.txt');
$pathInfo = $file->getPathInfo();  // 获取包含路径信息的SplFileInfo对象
$dirPath = $pathInfo->getRealPath();// 获取文件所在目录的绝对路径
$parentDirName = $pathInfo->getPathInfo()->getFilename(); // 获取父目录名称
Copier après la connexion
.

4. Résumé

Il est pratique d'utiliser la classe SplFileInfo en PHP, d'accéder et d'exploiter efficacement les fichiers, et de pouvoir obtenir diverses informations sur les fichiers. Lors de l'utilisation de cette classe, nous devons d'abord créer un objet SplFileInfo, puis appeler les méthodes qu'il fournit pour l'accès aux fichiers et les opérations. Cet article présente les méthodes couramment utilisées, notamment l'obtention du chemin du fichier, du nom du fichier, de la taille du fichier, de l'heure du fichier, du type de fichier, la détermination si le fichier est un fichier ou un répertoire, l'ouverture du fichier et l'exécution d'opérations de lecture et d'écriture du fichier.

J'espère que cet article vous sera utile lorsque vous utiliserez PHP pour les opérations sur les fichiers.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal