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
通俗易懂的php防注入代码
Apr 07 PHP
php curl基本操作详解
Jul 23 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
Aug 19 PHP
php截取中文字符串函数实例
Feb 23 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
php生成唯一数字id的方法汇总
Nov 18 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
php通过pecl方式安装扩展的实例讲解
Feb 02 PHP
Laravel推荐使用的十个辅助函数
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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
php自动获取关键字的方法
2015/01/06 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
js转化毫秒为时间格式代码
2014/04/10 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
2015/11/17 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
Python实现partial改变方法默认参数
2014/08/18 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Python pymsql模块的使用
2020/09/07 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
团员个人的自我评价
2013/12/02 职场文书
《太阳》教学反思
2014/02/21 职场文书
廉政教育的心得体会
2014/09/01 职场文书
单位委托函范文
2015/01/29 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
幸福终点站观后感
2015/06/04 职场文书