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&amp;mysql(五)
Oct 09 PHP
PHP 组件化编程技巧
Jun 06 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
解析php 版获取重定向后的地址(代码)
Jun 26 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
php自定义加密与解密程序实例
Dec 31 PHP
typecho插件编写教程(六):调用接口
May 28 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
PHP大文件分片上传的实现方法
Oct 28 PHP
Laravel 验证码认证学习记录小结
Dec 20 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函数代码
2013/08/29 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
JavaScript中split与join函数的进阶使用技巧
2016/05/03 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
python中的协程深入理解
2019/06/10 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
如何表示python中的相对路径
2020/07/08 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
服务员岗位责任制
2014/02/11 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
总经理检讨书
2014/09/15 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python