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 array_flip() 删除数组重复元素
Jan 14 PHP
PHP 日期加减的类,很不错
Oct 10 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
Jun 20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
Windows下编译PHP5.4和xdebug全记录
Apr 03 PHP
PHP简单的MVC框架实现方法
Dec 01 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
浅谈PHP进程管理
Mar 08 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
关于php开启错误提示的总结
Sep 24 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 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把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
php计算函数执行时间的方法
2015/03/20 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
node.js入门教程
2014/06/01 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
浅谈flask源码之请求过程
2018/07/26 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
经典大学生求职信范文
2014/01/06 职场文书
优良学风班申请材料
2014/02/13 职场文书
房产转让协议书
2014/04/11 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
本科应届生求职信
2014/08/05 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
结婚堵门保证书
2015/05/08 职场文书
远程教育学习心得体会
2016/01/23 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python