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 相关文章推荐
NO3第三帝国留言簿制作过程
Oct 09 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
Jul 31 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 PHP
mac下安装nginx和php
Nov 04 PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
PHP Cookie学习笔记
Aug 23 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
Jul 31 PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
session 的生命周期是多长
2006/10/09 PHP
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
PHP采集类Snoopy抓取图片实例
2014/06/19 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
python利用7z批量解压rar的实现
2019/08/07 Python
python 字典的打印实现
2019/09/26 Python
Django框架中间件定义与使用方法案例分析
2019/11/28 Python
python函数定义和调用过程详解
2020/02/09 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
Pycharm调试程序技巧小结
2020/08/08 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
民族团结先进个人事迹材料
2014/06/02 职场文书
任命书格式
2014/06/05 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
实战Python爬虫爬取酷我音乐
2022/04/11 Python
Golang入门之计时器
2022/05/04 Golang