ホームページ  >  記事  >  バックエンド開発  >  rrmdir 内のディレクトリとファイルを再帰的に削除する php_PHP チュートリアル

rrmdir 内のディレクトリとファイルを再帰的に削除する php_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:29:45956ブラウズ

コードをコピーします コードは次のとおりです:

function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir)
foreach ($objects as $) object) {
if ($object != “.” && $object != “..”) {
if (filetype($dir.”/”.$object) == “dir”) rrmdir($dir. ”/” .$object); else unlink($dir.”/”.$object);
}
}


rmdir
(PHP 4, PHP 5); rmdir — ディレクトリの削除
バグを報告する 説明
bool rmdir ( string $dirname )
dirname で指定されたディレクトリの削除を試みます。 ディレクトリは空である必要があり、適切な権限が必要です。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
注: PHP 5.0.0 以降、rmdir() は特定の URL ラッピング プロトコルでも使用できます。 rmdir() がどの URL ラッピング プロトコルをサポートしているかを確認するには、サポートされているプロトコルとラッパーのリストを参照してください。
注: Context のサポートは PHP 5.0.0 で追加されました。コンテキストの説明については、「Stream 関数」を参照してください。
注: セーフ モードが有効になっている場合、PHP はスクリプトの実行時に、スクリプト化されているディレクトリが実行中のスクリプトと同じ UID (所有者) を持つかどうかを確認します。
mkdir() と unlink() を参照してください。



コードをコピーします
コードは次のとおりです: function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($object as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir" ) rrmdir($dir."/".$object); else unlink($dir."/".$object)
}
rmdir($dir);
?> ;


これは私のコードではありませんが、見つけるのに非常に時間がかかったので共有しようと思いました。これは、フォルダー、すべてのサブフォルダー、およびファイルを一度に削除する機能です。
この関数が実行されるページに関連して、削除したいディレクトリを指定します。次に、フォルダーを空にするだけの場合は $empty = true を設定し、単に $empty = false を設定します。そのままにしておくと、指定されたディレクトリも削除されます。



コードをコピーします
コードは次のとおりです:


function deleteAll($directory, $empty = false) { if(substr( $directory,-1) == "/") { $directory = substr($directory,0,-1)
}
if(!file_exists($directory) || !is_dir( $directory)) {
return false;
} elseif(!is_readable($directory)) {
return false;
} else {
$directoryHandle = opendir($directory); ) {
if($contents != '.' && $contents != '..') {
$path = $directory . "/" . $contents;
if(is_dir($path)) {
deleteAll( $path);
} else {
unlink($path);
}
}
}
if($empty == false) {
if(!rmdir($directory)) return false;
}
}
return true;
}
}
?>
[/code]
削除権限が設定されていることを確認するためのパッチ:



コードは次のとおりです。次のように:


//フォルダーの削除関数
function deleteDirectory($dir) {
if (!file_exists($dir)) return true
if (!is_dir($dir) || is_link() $dir)) return unlink($dir) );
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') if (!deleteDirectory($dir . "/" . $item)) { chmod($dir . "/" . $item, 0777); if (!deleteDirectory($dir . "/" . $item)) return false; };
}
return rmdir ($dir);


詳細については、http://cn.php.net/rmdir を参照してください。



http://www.bkjia.com/PHPjc/323338.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/323338.html

技術記事
次のようにコードをコピーします。 function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != “.” $ object != “..”) { if (f...

)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:広告をランダムに並べ替えるための PHP 実装コード_PHP チュートリアル次の記事:広告をランダムに並べ替えるための PHP 実装コード_PHP チュートリアル

関連記事

続きを見る