wlyyb521 发表于 2017-3-22 10:11:05

PHP源代码压缩小工具

  所有的PHP文件包在一个PHP文件
移除所有的注释
移除多余空格
保持输出纯PHP(即不需要任何额外的处理步骤来解析这个文件)
  使用方法:(在命令行运行)
php compactor.php DESTINATION.php SOURCE.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; $target = $argv;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) {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);}} }}}fclose($out);?>
页: [1]
查看完整版本: PHP源代码压缩小工具