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实现的生成静态HTML速度快类库
Mar 31 PHP
php 文件状态缓存带来的问题
Dec 14 PHP
php file_exists 检查文件或目录是否存在的函数
May 10 PHP
PHP中的Memcache详解
Apr 05 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
php微信公众号开发之关键词回复
Oct 20 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 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
VOLVO车载收音机
2021/03/02 无线电
php数组函数序列之array_combine() - 数组合并函数使用说明
2011/10/29 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
js中this用法实例详解
2015/05/05 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
JS变量及其作用域
2017/03/29 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
全面解析Python的While循环语句的使用方法
2015/10/13 Python
python高阶爬虫实战分析
2018/07/29 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
蛋白质世界:Protein World
2017/11/23 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
MYSQL支持事务吗
2013/08/09 面试题
公务员培训自我鉴定
2013/09/19 职场文书
应届生自荐信
2014/06/30 职场文书
农村门前三包责任书
2014/07/25 职场文书
django 认证类配置实现
2021/11/11 Python