📂 FileMgr
📍
/home/coemyoza/public_html/wp-content/plugins/wpdatatables/lib/bin
✏️ Edit File: /home/coemyoza/public_html/wp-content/plugins/wpdatatables/lib/bin/cleanup
⬅ Kembali
#!/usr/bin/env php <?php $options = getopt("i:e:h", ['include:', 'exclude:', 'help']); if (isset($options['include'])) { $options['i'] = $options['include']; } if (isset($options['exclude'])) { $options['e'] = $options['exclude']; } if (isset($options['h']) || isset($options['help'])) { echo "Cleaning composer vendor directory" . PHP_EOL . PHP_EOL; echo "\e[0;33mUsage:\e[0m" . PHP_EOL; echo " command [options] [arguments]" . PHP_EOL . PHP_EOL; echo "\e[0;33mOptions:\e[0m" . PHP_EOL; echo " \e[0;32m-h, --help \e[0m Display this help message" . PHP_EOL; echo " \e[0;32m-i, --include \e[0m Add patterns for common files, comma separated" . PHP_EOL; echo " \e[0;32m-e, --exclude \e[0m Remove patterns for common files, comma separated" . PHP_EOL . PHP_EOL; echo "\e[0;33mExample:\e[0m" . PHP_EOL; echo " ./vendor/bin/cleanup --include *.zip,*.rar --exclude doc,docs,test" . PHP_EOL; return; } // Default patterns for common files $patterns = [ '.git', '.github', 'test', 'tests', 'travis', 'demo', 'example', 'examples', 'doc', 'docs', 'license', 'changelog*', 'changes*', 'faq*', 'contributing*', 'history*', 'upgrading*', 'upgrade*', 'package*', 'readme*', '{,.}*.yml', '*.md', '*.xml', '*.txt', '*.dist', '.php_cs*', '.scrutinizer', '.gitignore', '.gitattributes', '.editorconfig', 'dockerfile', 'composer.lock', ]; if (isset($options['i'])) { $patterns = array_merge($patterns, explode(',', $options['i'])); } if (isset($options['e'])) { $patterns = array_diff($patterns, explode(',', $options['e'])); } /** * Recursively traverses the directory tree * * @param string $dir * @return array */ function expandTree($dir) { $directories = []; $files = array_diff(scandir($dir), ['.', '..']); foreach($files as $file) { $directory = $dir . '/' . $file; if(is_dir($directory)) { $directories[] = $directory; $directories = array_merge($directories, expandTree($directory)); } } return $directories; } /** * Recursively deletes the directory * * @param string $dir * @return bool */ function delTree($dir) { $files = array_diff(scandir($dir), ['.', '..']); foreach ($files as $file) { (is_dir($dir . '/' . $file)) ? delTree($dir . '/' . $file) : unlink($dir . '/' . $file); } return rmdir($dir); } /** * Prepare word * * @param string $matches * @return string */ function prepareWord($matches) { return '[' . strtolower($matches[1]) . strtoupper($matches[1]) . ']'; } $directories = expandTree(dirname(__DIR__, 2)); foreach ($directories as $directory) { foreach ($patterns as $pattern) { $casePattern = preg_replace_callback('/([a-z])/i', 'prepareWord', $pattern); foreach (glob($directory . '/' . $casePattern, GLOB_BRACE) as $file) { echo 'delete: ' . $file . PHP_EOL; if (is_dir($file)) { delTree($file); } else { unlink($file); } } } } echo 'success' . PHP_EOL;
💾 Simpan File
Batal
⬅ Naik ke lib
1 item
Nama
Tipe
Ukuran
Diubah
Aksi
📄
cleanup
file
3.1 KB
2021-06-01 13:46
✏️ Edit
👁️ View
🗑 Hapus