ホームページ  >  記事  >  バックエンド開発  >  PHPファイル処理関数の詳細な紹介(例付き)

PHPファイル処理関数の詳細な紹介(例付き)

不言
不言転載
2019-01-10 11:31:332391ブラウズ

この記事では、PHP ファイル処理関数の詳細を (例とともに) 紹介します。これは一定の参考価値があります。必要な友人は参照できます。お役に立てれば幸いです。

PHP では、ディレクトリやファイルの作成、読み取り、変更、削除などを簡単に操作できます。

mkdir

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
パス名で指定された新しいディレクトリを作成してみます。

mkdir はパス名で指定されたディレクトリを作成できます。デフォルトのモードは 0777 で、Windows では無視され、失敗すると false を返します。

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

rmdir

bool rmdir ( string $dirname [, resource $context ] )
dirname で指定されたディレクトリを削除してみます。ディレクトリは空である必要があり、適切な権限が必要です。失敗すると E_WARNING レベルのエラーが発生します。

上記のように、rmdir はディレクトリを削除できます。ディレクトリ は空の である必要があり、 権限 を持っている必要があることに注意してください。失敗した場合は false が返されます。戻ってきた。例

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

file_put_contents

int file_put_contents ( string $filename ,mixed $data [, int $flags = 0 [, resource $context ]] )
には、 fopen()、fwrite()、fclose() を順番に呼び出すのと同じ機能があります。

file_put_contents ファイル名 file にデータを書き込みます。そのようなファイルが存在しない場合は作成します。失敗した場合は false を返します。成功した場合は書き込まれたバイト数を返します。例

<?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 [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
file() と同じですが、file_get_contents() がファイルを文字列に読み込みます。 maxlen の長さのコンテンツは、パラメータ offset で指定された位置から読み取られます。

file_get_cntents は filename の内容を読み取り、文字列を返します。失敗した場合は false を返します。例

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

unlink

bool unlink ( string $filename [, resource $context ] )
ファイル名を削除します。 Unix C の unlink() 関数に似ています。エラー発生時はE_WARNINGレベルのエラーが発生します。

削除ファイル名ファイルのリンクを解除します。権限にも注意する必要があります。例

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

rename

bool rename ( string $oldname , string $newname [, resource $context ] )
oldname の名前を newname に変更してみます。

rename はファイルの名前を変更するだけでなく、ファイルを移動することもできます。失敗した場合は false を返します。例

<?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 ] )
source から dest にファイルをコピーします。

上に示したように、失敗すると false が返されます。例

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

例とコメント

仕事や面接で使用される例をいくつか紹介します。

<?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);
}

Note

  • mkdir de の再帰パラメータはネストされたディレクトリを作成できます;

  • file_put_contents の flags パラメータは、詳細についてはリンクを参照してください。

  • file_put_contents は false に相当する非ブール値を返す場合もあります。判断には === を使用してください。

  • #file_get_contents URL を開いて Web ページのコンテンツを取得することもできます。

  • file_get_contents 特殊文字を含む URL を開きたい場合 (たとえば、 、スペース)、urlencode( ) URL エンコードを使用する必要があります;

  • #コピー ターゲット ファイルが既に存在する場合は、上書きされます;

以上がPHPファイル処理関数の詳細な紹介(例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。