isDir()){ continue; } $files[] = $file->getPathname(); } return $files; } echo "******* Project packer by DSR! *******\n"; echo "php deps: sudo apt-get update && sudo apt install php-xml php-mbstring\n\n"; $counter = 0; echo "Target folder: {$argv[1]}\n"; foreach (getDirContents($argv[1]) as $file) { $info = pathinfo($file); if (isset($info['extension']) && !fnmatch('*.min', $info['filename'], FNM_CASEFOLD)) { try { switch ($info['extension']) { case 'js': $counter++; $minifier = new Minify\JS($file); $minifier->minify($file); break; case 'css': $counter++; $minifier = new Minify\CSS($file); $minifier->minify($file); break; case 'php': $counter++; $file_contents = file_get_contents($file); $minified = PackPHP::minify($file_contents, ['min' => true]); file_put_contents($file, $minified); break; case 'html': $counter++; $file_contents = file_get_contents($file); $minifier = new HtmlMin(); $minified = $minifier->minify($file_contents); file_put_contents($file, $minified); break; } } catch (Exception $e) { echo "[ERROR!] " . $e->getMessage() . "\n"; } } } echo "Processed files: {$counter}\n";