前回の記事「phpファイル操作:ファイル/ディレクトリ名の抽出」では、ファイル/ディレクトリの名前部分を取得する方法について学びました。今回は、PHP ファイル操作シリーズの続きとして、指定したファイルやディレクトリを削除する方法について説明します。興味のある友人はそれについて学ぶことができます。~
ファイルやディレクトリを操作するときは、単にファイルやディレクトリのデータを操作することもできます。ファイル/ディレクトリ自体 (ファイル/ディレクトリの削除など)。今回は指定したファイルやディレクトリを削除する方法を紹介します。
1: 指定したファイルの削除操作
ファイルを削除するには、unlink($filename,$context) を使用できます。
関数は、指定されたファイル $filename
を削除できます。オプションのパラメータ $context
は、ファイル ハンドルの環境を指定するために使用されます。実行が成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
具体的なコード例を見てみましょう:
例 1: 同じディレクトリ内の「test.txt」ファイルを削除します
##
<?php header("content-type:text/html;charset=utf-8"); $file = 'test.txt'; if(file_exists($file)){ if(unlink($file)){ echo $file.' 删除成功!'; }else{ echo $file.' 删除失败!'; } }else{ echo $file.' 不存在!'; } ?>
<?php header("content-type:text/html;charset=utf-8"); $file = 'D:/demo/text.txt'; if(file_exists($file)){ if(unlink($file)){ echo $file.' 删除成功!'; }else{ echo $file.' 删除失败!'; } }else{ echo $file.' 不存在!'; } ?>
<?php header("content-type:text/html;charset=utf-8"); $dir = 'D:/demo'; if (is_dir($dir)) { $info = opendir($dir); while (($file = readdir($info)) !== false) {//用不全等于是区分如果文件夹名字为0的时候,那么0!==false,仍然可以遍历 if ($file != "." && $file != ".." ) { $path = $dir . '/' . $file; if(is_dir($path)){ continue; } unlink($path); } } echo '文件删除成功!'; closedir($info); } ?>
#2: 指定されたディレクトリの削除操作ディレクトリを削除するには、次のコマンドを使用できます
rmdir($dir ,$context) 関数。 $context は省略されたパラメータで、ファイル ハンドルの環境を指定するために使用されます。実行が成功した場合は TRUE を返し、失敗した場合は FALSE を返します。 rmdir() 関数を使用して指定されたディレクトリを削除する場合、ディレクトリは空である必要があり、対応するアクセス許可が必要であることに注意してください。空ではないディレクトリを削除すると、E_WERNING レベルのエラーが生成されます。
具体的なコード例を見てみましょう。 D:\demo ディレクトリの下の空のディレクトリ「img」を削除します。
<?php header("content-type:text/html;charset=utf-8"); $dir = 'D:/demo/img'; if(is_dir($dir)){ if(rmdir($dir)) echo '目录删除成功!'; }else{ echo "目录不存在!"; } ?>
出力結果は次のとおりです。
ディレクトリを再度開いてファイルを確認すると、空のディレクトリ「img」が存在していないことがわかります。
しかし、ほとんどの場合、削除する必要があるディレクトリは空ではなく、多くのサブファイルやサブディレクトリが含まれています。指定されたディレクトリとそのサブファイルおよびディレクトリ?
具体的な実装方法: このディレクトリ内のすべてのファイルとフォルダを走査し、このディレクトリ内のすべてのファイルとフォルダを 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.'/'); }else{ //如果是文件直接删除 unlink($path.$val); } } } } } //删除目录 return rmdir($path); } //设置需要删除的文件夹 $path = "D:/demo/"; //调用函数,传入路径 deldir($path); ?>
PHP ファイルの基本操作
## おすすめ: 《
PHP 面接質問まとめ (集)以上がPHP ファイル操作: 指定されたパスを持つファイルまたはディレクトリを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。