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和MySQL保存和输出图片
Oct 09 PHP
如何去掉文章里的 html 语法
Oct 09 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
Php header()函数语法及使用代码
Nov 04 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 PHP
php判断数组是否为空的实例方法
May 10 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 判断字符串中是否包含html标签
2014/02/17 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
2014/03/16 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
python基于property()函数定义属性
2020/01/22 Python
学习Python需要哪些工具
2020/09/04 Python
好邻里事迹材料
2014/01/16 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
2014年教师节寄语
2014/08/11 职场文书
文明单位汇报材料
2014/12/24 职场文书
材料采购员岗位职责
2015/04/03 职场文书
商务宴会祝酒词
2015/08/11 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA