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 相关文章推荐
Email+URL的判断和自动转换函数
Oct 09 PHP
header()函数使用说明
Nov 23 PHP
PHP安全性漫谈
Jun 28 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
PHP中使用socket方式GET、POST数据实例
Apr 02 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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
php去除重复字的实现代码
2011/09/16 PHP
PHP导入导出Excel代码
2015/07/07 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
node.js学习之交互式解释器REPL详解
2016/12/08 Javascript
canvas的神奇用法
2017/02/03 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
Python中装饰器的一个妙用
2015/02/08 Python
Python中的descriptor描述器简明使用指南
2016/06/02 Python
Python 专题一 函数的基础知识
2017/03/16 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
详解Python3 基本数据类型
2019/04/19 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
室内设计专业个人的自我评价
2013/10/19 职场文书
个人简历自我评价
2014/01/06 职场文书
工程管理英文求职信
2014/03/18 职场文书
个人投资合作协议书
2014/10/12 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
期末复习计划
2015/01/19 职场文书
借条如何写
2015/05/26 职场文书