note 58830 added to function.rmdir

From: Date: Thu, 17 Nov 2005 10:17:15 +0000
Subject: note 58830 added to function.rmdir
Groups: php.notes 
Request: Send a blank email to php-notes+get-98696@lists.php.net to get a copy of this message
# Clears temporary directory and any files or sub directories # using a stack, without evil recursion. # # Andy Gale - 17/11/2005 function clear_tmp_dir($dir) { $stack = array($dir); while (count($stack)) { # Get last directory on stack $dir = end($stack); $dh = opendir($dir); if (!$dh) { trigger_error('clear_tmp_dir: unable to opendir ' . $dir, E_USER_ERROR); } while (($file = readdir($dh)) !== false) { if ($file == '.' or $file == '..') { continue; } if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) { $stack[] = $dir . DIRECTORY_SEPARATOR . $file; } else if (is_file($dir . DIRECTORY_SEPARATOR . $file)) { unlink($dir . DIRECTORY_SEPARATOR . $file); } else { trigger_error('clear_tmp_dir: ignoring ' . $dir . DIRECTORY_SEPARATOR . $file, E_USER_ERROR); } } if (end($stack) == $dir) { rmdir($dir); array_pop($stack); } } } ---- Manual Page -- http://www.php.net/manual/en/function.rmdir.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+58830 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+58830&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+58830&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+58830&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+58830&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+58830&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+58830&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+58830&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+58830&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#98696) next »