首页 > php代码 > PHP 源代码压缩小工具

PHP 源代码压缩小工具

#!/usr/bin/env php 
<?php
/** 
 * Compact PHP code.
 *
 * Strip comments, combine entire library into one file.
 */
if ($argc < 3) {
    print "Usage: php compactor.php DESTINATION.php SOURCE.php";
    exit;
}
$source = $argv[2];
$target = $argv[1];
print "Compacting $source into $target.n";
include $source;
$files = get_included_files();
print_r($files);
$out = fopen($target, 'w');
fwrite($out, '<?php' . PHP_EOL);
fwrite($out, '// QueryPath. Copyright (c) 2009, Matt Butcher.' . PHP_EOL);
fwrite($out, '// This software is released under the LGPL, v. 2.1 or an MIT-style license.' . PHP_EOL);
fwrite($out, '// http://opensource.org/licenses/lgpl-2.1.php');
fwrite($out, '// http://querypath.org.' . PHP_EOL);
foreach ($files as $f) {
    if ($f !== __FILE__) {
        $contents = file_get_contents($f);
        foreach (token_get_all($contents) as $token) {
            if (is_string($token)) {
                fwrite($out, $token);
            } else {
                switch ($token[0]) {
                    case T_REQUIRE:
                    case T_REQUIRE_ONCE:
                    case T_INCLUDE_ONCE:
                        // We leave T_INCLUDE since it is rarely used to include
                        // libraries and often used to include HTML/template files.
                        
                    case T_COMMENT:
                    case T_DOC_COMMENT:
                    case T_OPEN_TAG:
                    case T_CLOSE_TAG:
                        break;
                    case T_WHITESPACE:
                        fwrite($out, ' ');
                        break;
                    default:
                        fwrite($out, $token[1]);
                }
            }
        }
    }
}
fclose($out);


永久链接:http://www.phprm.com/code/ade2f9f95f8f5d479dd957da0fbc7ff0.html

转载随意!带上文章地址吧。

标签:none

发表留言