Maison  >  Article  >  développement back-end  >  Résumé des connaissances sur la fermeture et l'ouverture de répertoires dans le traitement de fichiers PHP

Résumé des connaissances sur la fermeture et l'ouverture de répertoires dans le traitement de fichiers PHP

WBOY
WBOYoriginal
2021-11-02 10:21:293296parcourir

Dans l'article précédent "Comment lire des fichiers en PHP", je vous ai donné une introduction détaillée aux connaissances sur la lecture de fichiers dans le traitement de fichiers PHP. Dans cet article, nous allons également apprendre les connaissances sur le traitement de fichiers en PHP. , mais au lieu de traiter des fichiers, il s'occupe de répertoires. Jetons un coup d'œil au traitement des répertoires en PHP. J'espère que cela aidera tout le monde !

Résumé des connaissances sur la fermeture et l'ouverture de répertoires dans le traitement de fichiers PHP

Avant d'introduire quelques connaissances sur le traitement de fichiers en PHP, jetons un coup d'œil aux connaissances connexes sur le traitement de répertoires. Pour être précis, le traitement des répertoires fait également partie du traitement des fichiers. Le répertoire peut être considéré comme un fichier spécial. Nous ne pouvons visualiser les fichiers de ce répertoire qu'en ouvrant d'abord le répertoire. Une fois le traitement de nos fichiers terminé, l'étape indispensable est de fermer le répertoire.

L'un des plus importants est l'ouverture et la fermeture des répertoires. Voyons comment ouvrir et fermer des répertoires en PHP.

<strong><span style="font-size: 20px;">opendir() </span></strong>Fonction, ouvrir le répertoire<strong><span style="font-size: 20px;">opendir() </span></strong>函数,打开目录

想要实现打开目录的操作就需要通过opendir() 函数。

提到打开目录就会想到我们之前讲到的打开文件的操作,打开文件需要通过fopen() 函数,当时我们讲到,当使用fopen()函数来打开文件的时候,如果这个目标文件不存在的话,或者在当前页面没有目标文件的时候,该函数会创建一个文件。

当我们使用opendir()函数来进行打开目标目录操作的时候,如果目标目录不存在,或者当前页面找不到目标目录的时候,并不会创建一个目录,该函数会出现一个报错。

了解了opendir()函数打开目录与fopen() 函数打开文件的不同之后,我们来看一下opendir()函数的基本语法格式:

opendir(string $path[, resource $context])

其中我们需要注意的是,参数$path表示的是需要打开的目录路径,如果这个路径是正确的,程序运行后会返回只想目录的指针;如果这个目录路径不是正确的,或者路径正确但是因为系统权限文件系统发生的错误导致这个目录不能打开,这时候函数会返回一个错误信息或者false。

想要屏蔽这个错误信息输出的话可以在opendir()函数前面加上“@”。

接下来我们通过示例来看一下opendir()函数的应用,示例如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$path = "D:\phpstudy_pro\WWW";
if(is_dir($path)){                     //检测是否是一个目录
    if($dire = opendir($path)){        //判断打开目录是否成功
        echo $dire;                    //输出目录指针
    }
}   else{
    echo "路径错误";
    exit();
}
?>

在上述示例中想要通过opendir()函数来打开路径为D:phpstudy_proWWW的目录。

其中需要注意的是,上述示例中的is_dir()是用来判断当前路径下的是否是一个目录,上述示例的输出结果如下:

Résumé des connaissances sur la fermeture et louverture de répertoires dans le traitement de fichiers PHP

下面咋介绍另一种路径的表达方法,示例如下:

目录在当前文件的同一个目录内

Résumé des connaissances sur la fermeture et louverture de répertoires dans le traitement de fichiers PHP

<?php
header("Content-Type:text/html; charset=utf-8");
$path = "./1.0";
    if(is_dir($path)){
        $info = opendir($path);
        var_dump($info);
    }
?>

输出结果:

Résumé des connaissances sur la fermeture et louverture de répertoires dans le traitement de fichiers PHP

通过上述示例我们便完成了打开目录的操作了,通过opendir()函数打开了不同路径表达方式下的目录。下面来给大家介绍一下应该怎样去关闭目录。

<strong><span style="font-size: 20px;">closedir()</span></strong> 函数,关闭目录

想要实现关闭目录的操作就需要通过closedir() 函数。

在上述示例中我们打开了目录,当我们完成相应的操作之后,我们想要释放操作目录是所用到的资源,这时候关闭目录这一步是必不可少的。下面我们来看一下closedir()函数的基本语法格式:

closedir([resource $dir_handle])

其中我们需要注意的是:参数 handle 为使用 opendir()函数打开的一个目录指针。

接下来我们通过示例来看一下closedir()
Si vous souhaitez ouvrir un répertoire, vous devez utiliser la fonction opendir().

Quand il s'agira d'ouvrir un répertoire, vous penserez à l'opération d'ouverture d'un fichier dont nous avons parlé précédemment. Pour ouvrir un fichier, vous devez passer la fonction fopen(). , nous avons mentionné que lors de l'utilisation de la fonction fopen() code> pour ouvrir un fichier, si le fichier cible n'existe pas, ou s'il n'y a pas de fichier cible sur la page actuelle, cette fonction créera un fichier. <br>

Lorsque nous utilisons la fonction opendir() pour ouvrir le répertoire cible, si le répertoire cible n'existe pas ou si la page actuelle ne trouve pas le répertoire cible, un répertoire ne sera pas créé. lancer une erreur.

Résumé des connaissances sur la fermeture et louverture de répertoires dans le traitement de fichiers PHPAprès avoir compris la différence entre la fonction opendir() ouvrant un répertoire et la fonction fopen() ouvrant un fichier, jetons un œil au format syntaxique de base de la fonction opendir() :

<?php
header("Content-Type:text/html; charset=utf-8");
$path = "./1.0";
if(is_dir($path)){                     //检测是否是一个目录
    if($dire = opendir($path)){        //判断打开目录是否成功
        echo $dire;                    //输出目录指针
    }
}   else{
    echo "路径错误";
    exit();
}
//...其他操作
closedir($dire);                       //关闭目录
?>

Ce à quoi nous devons faire attention, c'est que le paramètre $path représente le chemin du répertoire qui doit être ouvert. Si ce chemin est correct, le programme renverra un pointeur vers le répertoire après son exécution si le chemin du répertoire n'est pas correct. ou le chemin est correct mais le système de fichiers échoue en raison des autorisations système. L'erreur empêche l'ouverture du répertoire. Dans ce cas, la fonction renverra un message d'erreur ou false.

Si vous souhaitez bloquer la sortie de ce message d'erreur, vous pouvez ajouter "@" devant la fonction opendir(). Ensuite, jetons un œil à l'application de la fonction opendir() à travers un exemple. L'exemple est le suivant :

rrreee🎜Dans l'exemple ci-dessus, nous voulons utiliser la fonction opendir() pour ouvrir le chemin de. D:phpstudy_proWWW Table des matières. 🎜🎜🎜Il convient de noter que is_dir() dans l'exemple ci-dessus est utilisé pour déterminer si le chemin actuel est un répertoire. Le résultat de l'exemple ci-dessus est le suivant : 🎜🎜🎜Résumé des connaissances sur la fermeture et louverture de répertoires dans le traitement de fichiers PHP🎜🎜Ce qui suit est une introduction à une autre méthode d'expression de chemin. L'exemple est le suivant : 🎜🎜Le répertoire est dans le même répertoire que le fichier actuel🎜🎜🎜Résumé des connaissances sur la fermeture et louverture de répertoires dans le traitement de fichiers PHP🎜rrreee🎜Résultat de sortie : 🎜🎜🎜Résumé des connaissances sur la fermeture et louverture de répertoires dans le traitement de fichiers PHP🎜🎜Grâce à l'exemple ci-dessus, nous avons terminé l'opération d'ouverture du répertoire et ouvert le répertoire sous différentes expressions de chemin via la fonction opendir() . Laissez-moi vous présenter comment fermer le répertoire. 🎜🎜<strong><span style="max-width:90%">closedir()</span></strong> Fonction, fermer le répertoire🎜🎜Si vous souhaitez fermer le répertoire, vous devez utiliser la fonction closedir(). 🎜🎜Dans l'exemple ci-dessus, nous avons ouvert le répertoire. Après avoir terminé l'opération correspondante, nous souhaitons libérer les ressources utilisées dans le répertoire d'exploitation. À ce stade, la fermeture du répertoire est essentielle. Jetons un coup d'œil au format de syntaxe de base de la fonction closeir() : 🎜🎜rrreee🎜Ce à quoi nous devons prêter attention est : le paramètre handle est un pointeur de répertoire ouvert à l'aide de la fonction opendir(). 🎜🎜Ensuite, examinons l'utilisation de la fonction closedir() à travers un exemple. L'exemple est le suivant : 🎜🎜rrreee🎜Résultat de sortie : 🎜🎜🎜🎜🎜🎜Il n'y a pas. changement dans le résultat de sortie, mais il y en a plus. closeir() ferme le répertoire. 🎜🎜Si vous êtes intéressé, vous pouvez cliquer sur « 🎜Tutoriel vidéo PHP🎜 » et « 🎜Comment télécharger des fichiers en PHP ? Vous comprendrez après l’avoir lu ! 🎜》En savoir plus sur les connaissances PHP. 🎜

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!

Déclaration:
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