ホームページ > バックエンド開発 > PHPの問題 > PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

青灯夜游
リリース: 2023-03-12 07:54:01
オリジナル
3009 人が閲覧しました

前回の記事「phpファイル操作:ファイル/ディレクトリ名の抽出」では、ファイル/ディレクトリの名前部分を取得する方法について学びました。今回は、PHP ファイル操作シリーズの続きとして、指定したファイルやディレクトリを削除する方法について説明します。興味のある友人はそれについて学ぶことができます。~

ファイルやディレクトリを操作するときは、単にファイルやディレクトリのデータを操作することもできます。ファイル/ディレクトリ自体 (ファイル/ディレクトリの削除など)。今回は指定したファイルやディレクトリを削除する方法を紹介します。

1: 指定したファイルの削除操作

ファイルを削除するには、unlink($filename,$context) を使用できます。 関数は、指定されたファイル $filename を削除できます。オプションのパラメータ $context は、ファイル ハンドルの環境を指定するために使用されます。実行が成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

具体的なコード例を見てみましょう:

例 1: 同じディレクトリ内の「test.txt」ファイルを削除します

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します ##

<?php
header("content-type:text/html;charset=utf-8");
$file = &#39;test.txt&#39;;
if(file_exists($file)){
    if(unlink($file)){
        echo $file.&#39; 删除成功!&#39;;
    }else{
        echo $file.&#39; 删除失败!&#39;;
    }
}else{
    echo $file.&#39; 不存在!&#39;;
}
?>
ログイン後にコピー

出力結果は次のとおりです:

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

ディレクトリを再度開いてファイルを確認すると、「test.txt」ファイルが存在しないことがわかります。 。

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

例 2: D:\demo ディレクトリの「text.txt」ファイルを削除します

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

<?php
header("content-type:text/html;charset=utf-8");
$file = &#39;D:/demo/text.txt&#39;;
if(file_exists($file)){
    if(unlink($file)){
        echo $file.&#39; 删除成功!&#39;;
    }else{
        echo $file.&#39; 删除失败!&#39;;
    }
}else{
    echo $file.&#39; 不存在!&#39;;
}
?>
ログイン後にコピー

出力結果:

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

# ディレクトリを再度開いてファイルを確認すると、「text.txt」ファイルが存在していないことがわかります。

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

ディレクトリ内のすべてのファイルを削除する方法は、ループと readdir() を使用して、D:\demo ディレクトリ内のすべてのファイルとディレクトリ (サブディレクトリを除く) を取得できます。そして、その中のすべてのファイルを削除します:

<?php
header("content-type:text/html;charset=utf-8");
$dir = &#39;D:/demo&#39;;
if (is_dir($dir)) {
	$info = opendir($dir);
	while (($file = readdir($info)) !== false) {//用不全等于是区分如果文件夹名字为0的时候,那么0!==false,仍然可以遍历
		if ($file != "." && $file != ".." ) {
			$path = $dir . &#39;/&#39; . $file;
			if(is_dir($path)){
				continue;
			}
			unlink($path);
		}
	}
	echo &#39;文件删除成功!&#39;;
	closedir($info);
} 
?>
ログイン後にコピー

出力結果は次のとおりです:

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

ディレクトリを再度開いてファイルを見ると、次のことがわかります。 「img」フォルダのみがまだ存在します。

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します

#2: 指定されたディレクトリの削除操作ディレクトリを削除するには、次のコマンドを使用できます

rmdir($dir ,$context)

関数。 $context は省略されたパラメータで、ファイル ハンドルの環境を指定するために使用されます。実行が成功した場合は TRUE を返し、失敗した場合は FALSE を返します。 rmdir() 関数を使用して指定されたディレクトリを削除する場合、ディレクトリは空である必要があり、対応するアクセス許可が必要であることに注意してください。空ではないディレクトリを削除すると、E_WERNING レベルのエラーが生成されます。

具体的なコード例を見てみましょう。 D:\demo ディレクトリの下の空のディレクトリ「img」を削除します。

<?php
	header("content-type:text/html;charset=utf-8");
    $dir = &#39;D:/demo/img&#39;;
    if(is_dir($dir)){
        if(rmdir($dir)) echo &#39;目录删除成功!&#39;;
    }else{
        echo "目录不存在!";
    }
?>
ログイン後にコピー

出力結果は次のとおりです。

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除します ディレクトリを再度開いてファイルを確認すると、空のディレクトリ「img」が存在していないことがわかります。

PHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除しますしかし、ほとんどの場合、削除する必要があるディレクトリは空ではなく、多くのサブファイルやサブディレクトリが含まれています。指定されたディレクトリとそのサブファイルおよびディレクトリ?

具体的な実装方法: このディレクトリ内のすべてのファイルとフォルダを走査し、このディレクトリ内のすべてのファイルとフォルダを 1 つずつ再帰的に削除できます。

以下に示すように、具体的な実装コード:

<?php
    function deldir($path){
        //如果是目录则继续
        if(is_dir($path)){
            //扫描一个文件夹内的所有文件夹和文件并返回数组
            $p = scandir($path);
            //如果 $p 中有两个以上的元素则说明当前 $path 不为空
            if(count($p)>2){
                foreach($p as $val){
                    //排除目录中的.和..
                    if($val !="." && $val !=".."){
                        //如果是目录则递归子目录,继续操作
                        if(is_dir($path.$val)){
                            //子目录中操作删除文件夹和文件
                            deldir($path.$val.&#39;/&#39;);
                        }else{
                            //如果是文件直接删除
                            unlink($path.$val);
                        }
                    }
                }
            }
        }
        //删除目录
        return rmdir($path);
    }
    //设置需要删除的文件夹
    $path = "D:/demo/";
    //调用函数,传入路径
    deldir($path);
?>
ログイン後にコピー

わかりました。これですべてです。他に知りたいことがあれば、これをクリックしてください。 → →

PHP ファイルの基本操作

## おすすめ:

PHP 面接質問まとめ (集)

》《php ビデオ チュートリアル

以上がPHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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