ホームページ > バックエンド開発 > PHPチュートリアル > この記事では、PHP でのファイルとディレクトリの操作について説明します。

この記事では、PHP でのファイルとディレクトリの操作について説明します。

青灯夜游
リリース: 2023-04-11 09:22:01
転載
5941 人が閲覧しました

PHP はファイルとディレクトリの操作をどのように実行しますか?次の記事では、HP のファイルとディレクトリの操作について詳しく説明します。お役に立てば幸いです。

この記事では、PHP でのファイルとディレクトリの操作について説明します。

#パスとディスクの操作


相対パスと絶対パス

絶対パス: 現在のファイルのドライブ文字が存在するパスが開始点になります。

例:

たとえば、図 1.png

この記事では、PHP でのファイルとディレクトリの操作について説明します。 この図の絶対パスは次のとおりです。

D:\Google\123\1.png

このパス文字列で表されるコンテンツを個別に説明しましょう

  • D: (ドライブ文字
  • \ (表のあるものはディレクトリ区切り文字
  • を指します)ヒント: (Windows オペレーティング システムはスラッシュとバックスラッシュをサポートしており、他のシステムはスラッシュ / をサポートしているため、スラッシュを使用すると互換性の問題を軽減できます)

相対パス: 操作対象のファイルの場所 ディレクトリは開始パスです

これは

相対的な概念です 、異なる参照オブジェクトは異なるパスを書き込みます

なぜそう思いますか?

例を挙げてみましょう:

1.png を参照として使用するとします。

この記事では、PHP でのファイルとディレクトリの操作について説明します。

この記事では、PHP でのファイルとディレクトリの操作について説明します。

#1.txt
  • ./1.txt

    (1 の前にドットがあります。)

    2.txt
  • ../2.txt

    (2 の前の 2 つのドット)

    説明してください

    1.txt は
  • 同じディレクトリ
  • にあるファイルです。そのため、先頭に必要なドットは 1 つだけです。このドットは現在のディレクトリを表します2.txt は
  • 下のディレクトリ
  • 、1.png は 2.txt の 上のディレクトリ 、ここの 2 つのドットは上のディレクトリ #believe it 相対パスと絶対パスについては誰もがすでに知っています
  • ファイル パス情報の取得

理解する必要がありますまずはいくつかの概念


パス:

/love/xianyu.txt


##ディレクトリ名 ( dirname ) は /love

で、ファイル拡張子名 (ベース名) は xianyu.txt
  • 拡張子名 (拡張子) は .txt
  • ファイル名 (filename) xianyu
  • 下にテキストを入力してください

pathinfo()

##指定されたパスとファイル名を取得するには、

pathinfo()
関数を使用できます。この関数は、

連想配列を返します。 #

<?php
$xianyu = "/love/xianyu.php";
$result = pathinfo($xianyu);
foreach($result as $key=>$value){
    echo "$key=>$value\n";
}
?>
/*
输出:
dirname=>/love
basename=>xianyu.php
extension=>php
filename=>xianyu
*/
ログイン後にコピー

ファイル名をすぐに取得します:
basename()

Basename() 関数、 配列

<?php
$xianyu = "/love/xianyu.php";
echo $filepath."中的文件名是:".basename($xianyu);
?>
/*
中的文件名是:xianyu.php
*/
ログイン後にコピー
## から読み取ることなく、指定されたファイルの ファイル名 部分を迅速に取得します。 #パスのディレクトリ部分をすばやく取得します: dirname()

dirname()## を使用します。 #素早く取得する関数 ディレクトリを指定 指定したファイルの一部

<?php
$filepath = "/love/xianyu.php";
echo $filepath."中的路径部分是:". dirname($filepath);
?>
/*
/love/xianyu.php中的路径部分是:/love
*/
ログイン後にコピー

ディレクトリ操作

#ディレクトリの開閉

ハンドル:

opendir(), Closedir()


ハンドルは

戻り値

と見なすことができます。ハンドルを使用すると、次の操作ができます。開いているディレクトリ

    #
    <?php
    $dir = "images";
    if($dir_handle = opendir($dir))
    {
    echo "获取目录句柄成功!";
    closedir($dir_handle); //记得释放句柄
    }
    else
    {
    echo "打开目录错误";
    }
    ?>
    ログイン後にコピー
  • 画像ディレクトリを開く

##リリースハンドル

なぜハンドルを放すのでしょうか? ハンドルを放さないと、あなたと大勢の人がノートに書いているようなものです。元に戻すと、他の人は書き込めなくなります。そのため、ハンドルを解放すると、サーバーのリソースを節約できます

创建目录

<?php
mkdir("123")
?>
ログイン後にコピー

删除目录

<?php
rmdir("123")
?>
ログイン後にコピー

获取当前工作目录

<?php
echo getcwd()
?>
ログイン後にコピー

改变当前工作目录

<?php
echo getcwd() . &#39;<br>&#39;; // 显示当前目录
chdir(&#39;hhh&#39;); //改变当前目录
echo getcwd() . &#39;<br>&#39;; // 显示当前目录
?>
ログイン後にコピー

获取目录句柄条目

  • readdir()

将一个参数名作为参数传递给函数readdir(),这个函数能返回目录下所有子目录和文件

注意:调用一次返回一个!!

<?php
if ($handle = opendir(&#39;.&#39;)) {
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
closedir($handle);
}
?>
ログイン後にコピー

この記事では、PHP でのファイルとディレクトリの操作について説明します。

读取目录条目

  • scandir()

直接返回指定目录下文件和子目录,并且按照要求排序(默认字母升序)

<?php
$dir1 = scandir("D:\新建文件夹 (2)");
$dir2 = scandir("D:\新建文件夹 (2)",1);//降序排列
print_r($dir1);
print_r($dir2)
?>
ログイン後にコピー

この記事では、PHP でのファイルとディレクトリの操作について説明します。

この記事では、PHP でのファイルとディレクトリの操作について説明します。

文件操作


操作文件的一般步骤即:打开,读取或写入,关闭

由于目录和文件本质上都属于文件,除了使用函数不同,很多操作都是相通的

一般操作

判断文件是否存在

<?php
if(file_exists("test.txt"))
{
//如果文件存在就执行操作
}
?>
//如果文件存在返回true,不存在返回false
ログイン後にコピー

创建,打开,关闭文件

  • fopen(), fclose()

<?php
//以只读方式打开文件,将文件指针指向文件头
$handle = fopen("test.txt", "r");
//以读写方式打开,将文件指针指向文件头
$handle = fopen("test.txt", "r+");
//以写入方式打开,将文件指针指向文件头,并将文件大小截为0。如果文件不存在则尝试创建。
$handle = fopen("test.txt", "w");
//以读写方式打开,将文件指针指向文件头,并将文件大小截为0。如果文件不存在则尝试创建。
$handle = fopen("test.txt", "w+");
//以写入方式打开文件,将文件指针指向文件末尾。如果文件不存在则尝试创建。
$handle = fopen("test.txt", "a");
//以读写方式打开文件,将文件指针指向文件末尾。如果文件不存在则尝试创建。
$handle = fopen("test.txt", "a+");
fclose()
?>
ログイン後にコピー

读取文件

  • fread(), file_get_contents(), file()

<?php
//需要使用fopen,fread,fclose来进行文件的读取操作
$filename = "test.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename)); //fread需要传入两个参数,第一个参数为
文件句柄,第二个参数为最大读取的字节数
fclose($handle);
//更加简洁的方式
file_get_contents($filename)
?>
ログイン後にコピー

写入文件

  • fwrite(), file_put_contents()

<?php
//需要fopen,fwrite,fclose来进行文件的写入操作
$handle = fopen("test.txt","w");
fwrite($handle,"添加文字到文件中");//fwrite接受两个参数作为输入,$handle为文件句柄,"添加文
字到文件中"为需要写入的内容
fclose($handle);
//更加简洁的方式
file_put_contents("test.txt", "使用file_put_contents()函数写入的内容")
?>
ログイン後にコピー

文件和目录基本操作

删除文件

  • unlink()

<?php
$file = "temp.txt";
unlink($file);
?>
ログイン後にコピー

复制文件

  • copy()

<?php
$sourceFile = "html/cache.txt"; //被复制的文件必须确保存在
$targetFile = "html/copyCache.txt";
copy($sourceFile, $targetFile)
?>
ログイン後にコピー

移动,重命名文件或目录

  • rename()

<?php
//使用rename()函数重命名一个文件或目录
rename(&#39;test.txt&#39;, &#39;rename.txt&#39;) //将test.txt文件重命名为rename.txt
rename(&#39;test&#39;,&#39;rename&#39;) //将test目录重命名为rename
//使用rename()函数移动文件,并改名
rename("test.txt","test/a.txt");//将test.txt移动到test文件夹下,并改名为a.txt
//使用rename()函数移动目录到目标目录
rename("test","html/test");
?>
ログイン後にコピー

推荐学习:《PHP视频教程

以上がこの記事では、PHP でのファイルとディレクトリの操作について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート