当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 源代码压缩小工具

PHP
IntegratedTemplate类实现BLOCK功能
IntegratedTemplate类实现HTML和PHP代码分离
PHP应用程序的性能优化
smarty学习笔记
用php实现soap通讯
smarty实例教程 ---程序设计部分
PEAR安装
Apache小技巧
如何简单使用WASP进行PHP开发(1)
如何简单使用WASP进行PHP开发(2)
php开发框架总结
php&java的简单使用
怎么样可以把 phpinfo()屏蔽掉
一些 php framework 的收集
地址的加密实现方法
实例解说php动态内容的缓冲和压缩
php开发中文件操作疑难问答
php中如何增加一个系统用户
php能检测浏览器的javascript脚本是否运行吗?
php操作文件问答

PHP 源代码压缩小工具


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 133 ::
收藏到网摘: n/a

所有的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);
?>