Maison >développement back-end >tutoriel php >Introduction détaillée aux fonctions de traitement de fichiers php (avec exemples)

Introduction détaillée aux fonctions de traitement de fichiers php (avec exemples)

不言
不言avant
2019-01-10 11:31:332438parcourir

Cet article vous apporte une introduction détaillée aux fonctions de traitement de fichiers PHP (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

PHP peut facilement exploiter des répertoires et des fichiers, y compris la création, la lecture, la modification, la suppression, etc.

mkdir

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, ressource $context ]]] )
Essayez de créer un nouveau répertoire spécifié par chemin.

mkdir peut créer un répertoire spécifié par chemin d'accès. Le mode par défaut est 0777, qui est ignoré sous Windows et renvoie false en cas d'échec.

<?php
mkdir(&#39;./test&#39;);// 在当前目录创建 test 目录

rmdir

bool rmdir ( string $dirname [, resource $context ] )
Essayez de supprimer le répertoire spécifié par dirname. Le répertoire doit être vide et doit disposer des autorisations appropriées. Un échec générera une erreur de niveau E_WARNING.

Comme indiqué ci-dessus, rmdir peut supprimer un répertoire. Il convient de noter que le répertoire doit être vide et doit avoir autorisations . S'il échoue, false sera. est revenu. Exemple

<?php
rmdir(&#39;./test&#39;);// 删除当前目录下的 test 目录。

file_put_contents

int file_put_contents ( string $filename , mixte $data [, int $flags = 0 [, ressource $context ]] )
et L'appel séquentiel de fopen(), fwrite() et fclose() a la même fonction.

file_put_contents Écrivez les données dans le fichier de nom de fichier. S'il n'existe pas de fichier de ce type, créez-le. S'il échoue, il renvoie false. S'il réussit, il renvoie le nombre d'octets écrits. Exemple

<?php
file_put_contents(&#39;./test.txt&#39;, date(&#39;Y-m-d H:i:s&#39;));// 在当前目录创建 test.txt,并且写入数据
file_put_contents(&#39;./test.txt&#39;, date(&#39;Y-m-d H:i:s&#39;), FILE_APPEND);// 在 test.txt 文件中,追加数据

file_get_contents

string file_get_contents ( string $filename [, bool $use_include_path = false [, ressource $context [, int $offset = -1 [, int $maxlen ]] ]] )
Identique à file(), sauf que file_get_contents() lit le fichier dans une chaîne. Le contenu de longueur offset sera lu à partir de la position spécifiée par le paramètre maxlen.

file_get_cntents lit le contenu du nom de fichier et renvoie une chaîne en cas d'échec, il renvoie false. Exemple

<?php
echo file_get_contents(&#39;./test.txt&#39;);// 输出当前目录下 test.txt 的内容

unlink

bool unlink ( string $filename [, resource $context ] )
Supprimer le nom du fichier. Similaire à la fonction unlink() d'Unix C. Une erreur de niveau E_WARNING est générée lorsqu'une erreur se produit.

dissocier supprime le fichier de nom de fichier, il faut également faire attention aux autorisations. Exemple

<?php
unlink(&#39;./test.txt&#39;);// 删除当前目录的 test.txt

rename

bool rename ( string $oldname , string $newname [, resource $context ] )
Essayez de renommer oldname en newname.

rename peut non seulement renommer des fichiers, mais également déplacer des fichiers et renvoie false en cas d'échec. Exemple

<?php
rename(&#39;./test.txt&#39;, &#39;./test1.txt&#39;);// 当前目录下的 test.txt 重命名为 test1.txt
rename(&#39;./test1.txt&#39;, &#39;./test/test.txt&#39;);// 将当前目录下的 test1.txt, 移动到 test下

copy

bool copy ( string $source , string $dest [, resource $context ] )
Copiez le fichier de la source vers la destination.

Comme indiqué ci-dessus, false est renvoyé en cas d'échec. Exemples

<?php
copy(&#39;./test/test.txt&#39;, &#39;./test1.txt&#39;);// test 目录下的test.txt, 拷贝到当前目录

Exemples et notes

Voici quelques exemples qui seront utilisés dans le travail ou les entretiens.

<?php

/**
 * 遍历目录下所有文件
 * @param $path 
 */
function getAllFiles($path)
{
    if (!is_dir($path)) {
        exit(&#39;错误&#39;);
    }
    echo &#39;<ul>';
    foreach (scandir($path) as $line) {
        if ($line == '.' || $line == '..') {
            continue;
        }

        if (is_dir($path . '/' . $line)) {
            getAllFiles($path . '/' . $line);
        }
        echo '<li>' . $path . '/' . $line . '</li>';
    }
    echo '</ul>';
}

/**
 * 删除目录下所有文件
 * @param $path
 */
function delAllFile($path)
{
    if (!is_dir($path)) {
        exit('目录不存在');
    }

    $dir = opendir($path);
    while ($filename = readdir($dir)) {
        if ($filename != "." && $filename != "..") {
            $file = $path . "/" . $filename;
            if (is_dir($file)) {
                delAllFile($file);
            } else {
                unlink($file);
            }
        }
    }
    closedir($dir);
    rmdir($path);
}

Remarque

  • Le paramètre récursif dans mkdir de peut créer des répertoires imbriqués

  • file_put_contents Le paramètre flags peut être combiné, veuillez vous référer au lien pour plus de détails ;

  • file_put_contents peut également renvoyer une valeur non booléenne équivalente à false, utilisez === pour juger

  • file_get_contents peut également ouvrir une URL pour obtenir le contenu d'une page Web

  • file_get_contents Si vous souhaitez ouvrir une URL avec des caractères spéciaux (par exemple, espaces), vous devez utiliser urlencode() effectue le codage de l'URL ;

  • copie Si le fichier cible existe déjà, il sera écrasé

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer