PHP 源代码压缩小工具


Posted in PHP onDecember 22, 2009

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

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); 
?>
PHP 相关文章推荐
PHP.MVC的模板标签系统(四)
Sep 05 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
Chrome Web App开发小结
Sep 04 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
php实现通用的信用卡验证类
Mar 24 PHP
PHP制作用户注册系统
Oct 23 PHP
thinkPHP查询方式小结
Jan 09 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
php查询内存信息操作示例
May 09 PHP
PHP实现简单登录界面
Oct 23 PHP
php 8小时时间差的解决方法小结
Dec 22 #PHP
PHP 分页原理分析,大家可以看看
Dec 21 #PHP
c#中的实现php中的preg_replace
Dec 21 #PHP
php 空格,换行,跳格使用说明
Dec 18 #PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
Dec 18 #PHP
PHP strtotime函数详解
Dec 18 #PHP
php 日期时间处理函数小结
Dec 18 #PHP
You might like
星际流派综述
2020/03/04 星际争霸
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
JS判定是否原生方法
2013/07/22 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
jQuery实现动态添加和删除input框实例代码
2019/03/26 jQuery
ios中视频的最后一桢问题解决
2019/05/14 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
java直接调用python脚本的例子
2014/02/16 Python
python实现每次处理一个字符的三种方法
2014/10/09 Python
详解Python当中的字符串和编码
2015/04/25 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
Django卸载之后重新安装的方法
2017/03/15 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
python实现二叉查找树实例代码
2018/02/08 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
家居饰品店创业计划书
2014/01/31 职场文书
《在家里》教后反思
2014/03/01 职场文书
房屋出租协议书
2014/04/10 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python