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
NO3第三帝国留言簿制作过程
Oct 09 PHP
腾讯QQ php程序员面试题目整理
Jun 08 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 PHP
ThinkPHP之用户注册登录留言完整实例
Jul 22 PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
May 13 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
Nov 13 PHP
PHP fopen中文文件名乱码问题解决方案
Oct 28 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和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
Python控制台实现交互式环境执行
2020/06/09 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
2014年工作总结及2015工作计划
2014/12/12 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
医生个人年终总结
2015/02/28 职场文书
研讨会通知
2015/04/27 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
幼儿园教师安全责任书
2015/05/08 职场文书
天河观后感
2015/06/11 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
vue实现Toast组件轻提示
2022/04/10 Vue.js