function wpcf7_rmdir_p($dir) { if (is_file($dir)) { @unlink($dir); return true; } if (!is_dir($dir)) { return false; } if ($handle = @opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file == "." || $file == "..") { continue; } wpcf7_rmdir_p(path_join($dir, $file)); } closedir($handle); } return @rmdir($dir); }
function wpcf7_cleanup_upload_files() { if (is_admin() || 'GET' != $_SERVER['REQUEST_METHOD'] || is_robots() || is_feed() || is_trackback()) { return; } $dir = trailingslashit(wpcf7_upload_tmp_dir()); if (!is_dir($dir) || !is_readable($dir) || !wp_is_writable($dir)) { return; } if ($handle = @opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file == "." || $file == ".." || $file == ".htaccess") { continue; } $mtime = @filemtime($dir . $file); if ($mtime && time() < $mtime + 60) { // less than 60 secs old continue; } wpcf7_rmdir_p(path_join($dir, $file)); } closedir($handle); } }
function wpcf7_cleanup_upload_files($seconds = 60, $max = 100) { if (is_admin() || 'GET' != $_SERVER['REQUEST_METHOD'] || is_robots() || is_feed() || is_trackback()) { return; } $dir = trailingslashit(wpcf7_upload_tmp_dir()); if (!is_dir($dir) || !is_readable($dir) || !wp_is_writable($dir)) { return; } $seconds = absint($seconds); $max = absint($max); $count = 0; if ($handle = @opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file == "." || $file == ".." || $file == ".htaccess") { continue; } $mtime = @filemtime($dir . $file); if ($mtime && time() < $mtime + $seconds) { // less than $seconds old continue; } wpcf7_rmdir_p(path_join($dir, $file)); $count += 1; if ($max <= $count) { break; } } closedir($handle); } }
public function remove_uploaded_files() { foreach ((array) $this->uploaded_files as $name => $path) { wpcf7_rmdir_p($path); @rmdir(dirname($path)); // remove parent dir if it's removable (empty). } }
function wpcf7_rmdir_p($dir) { if (is_file($dir)) { if (!($result = @unlink($dir))) { $stat = @stat($dir); $perms = $stat['mode']; @chmod($dir, $perms | 0200); // add write for owner if (!($result = @unlink($dir))) { @chmod($dir, $perms); } } return $result; } if (!is_dir($dir)) { return false; } if ($handle = @opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file == "." || $file == "..") { continue; } wpcf7_rmdir_p(path_join($dir, $file)); } closedir($handle); } return @rmdir($dir); }