Andy's Blog » php代码压缩, php 代码压缩, PHP源码压缩, 代码收藏 PHP源码, php代码压缩工具, 源码压缩, php 源代码 压缩 mini, php整站压缩脚本, php 压缩源码, html源代码压缩工具, php整站压缩 » PHP 源代码压缩小工具

PHP 源代码压缩小工具

所有的PHP文件包在一个PHP文件
移除所有的注释
移除多余空格
保持输出纯PHP(即不需要任何额外的处理步骤来解析这个文件)

使用方法:(在命令行运行)

php compactor.php DESTINATION.php SOURCE.php
compactor.php
#!/usr/bin/env php
<?php
/**
 * Compact PHP code.
 *
 * Strip comments, combine entire library into one file.
 */

 
if ($argc < 3) {
 
print "Strip unecessary data from PHP source files.\n\n\tUsage: 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);
?>

Incoming search terms:

Tags: PHP, 压缩

本文地址: http://blog.21andy.com/20091222/1577.html

1 评论 to “PHP开源CMS之MODx”

  1. 精英王子 于 2011-08-05 00:08:11 发表:

    这个真的有用吗?