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 相关文章推荐
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
PHP查找与搜索数组元素方法总结
Jun 12 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
PHP简单实现DES加密解密的方法
Jul 12 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
PHP7创建销毁session的实例方法
Feb 03 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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
模仿OSO的论坛(三)
2006/10/09 PHP
mysql建立外键
2006/11/25 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
php获取文件大小的方法
2014/02/26 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
基于python select.select模块通信的实例讲解
2017/09/21 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
flask实现验证码并验证功能
2019/12/05 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
模特大赛策划方案
2014/05/28 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
党员示范岗材料
2014/12/19 职场文书
杨善洲观后感
2015/06/04 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
MySQL之DML语言
2021/04/05 MySQL
nginx共享内存的机制详解
2022/03/21 Servers
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS