PHP 源代码压缩小工具

使用方法:(在命令行运行)

复制代码 代码如下:

php compactor.php DESTINATION.php SOURCE.php

下载: compactor.php

复制代码 代码如下:

#!/usr/bin/env 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);

?>相关阅读:

csdn 博客的css样式 v3

使用JS判断是否数字和小数点组合的数字的两中方法比较(isNaN和逐判断)

如何将自己的代码自动添加版权信息

win2003安装sqlserver 2000提示无法验证产品密钥的解决方法

对IIS中的虚拟目录进行操作

HTML表格标记教程(6):暗边框色属性BORDERCOLORDARK

Adobe发布Photoshop Lightroom 2正式版

关于javascript判断文件大小

PHP中在数据库中保存Checkbox数据(2)

用ASP编写的加密和解密类

如何让position:fixed在IE6中工作

Javascript表单应用的对象

C#编码好习惯小结

最新linux版MSN客户端Emesene 1.0.1发布下载

php源代码压缩,PHP_PHP 源代码压缩小工具,使用方法:(在命令行运行) 复 - phpStudy...相关推荐

  1. 怎样在计算机桌面上添加小工具日历,如何在电脑桌面添加时钟,日历等小工具。 在电脑桌面添加时钟,日历等小工具的方法。...

    今天给大家带来如何在电脑桌面添加时钟,日历等小工具.,在电脑桌面添加时钟,日历等小工具的方法.,让您轻松解决问题. 摆脱电脑右下角的死板数字时间,在电脑桌面上放一个可以移动的立体时钟,想起来就帅呆了~ ...

  2. 报错:此操作系统版本不支持此选项。管理员应使用“打开或关闭 Windows 功能”对话框、“服务器管理器”管理工具或 dism.exe 命令行工具安装/卸载包含 IIS8 的 ASP.NET 4.5

    现象再现: windows server 服务器的iis 应用程序池没有ASP.NET 4.5, 过程再现: 根据资料提示重新注册ASPNET_IIS.exe -i 直接提示: C:\WINDOWS\ ...

  3. C++ 简化 推箱子 小游戏 完整代码 参考网络资料 命令行运行 仅供初学者参考交流

    C++ 简化 推箱子 小游戏 完整代码 参考网络资料 命令行运行 仅供初学者参考交流 说明:学做了4关推箱子, 仅供初学者参考可用g++ 编译,可以将内容复制到TXT文件,将后缀改为".cp ...

  4. [转]git的GUI工具Sourcetree使用及命令行对比

    git的GUI工具Sourcetree使用及命令行对比 1.提交推送 流程 1. 勾选要提交的文件 2. 填写提交说明内容 3. 想提交直接推送到代码仓库时,勾选左下角按钮 4. 最后点击提交按钮即可 ...

  5. Microsoft Windows Installer 工具 Msiexec.exe 的命令行选项

    摘自:http://support.microsoft.com/kb/314881/zh-cn 概要 本文列出了 Windows Installer 工具 Msiexec.exe 的命令行选项.Msi ...

  6. 测试电脑的软件3dm,有用的小工具检测你的电脑能否运行Oculus Rift

    你们对Oculus Rift感兴趣吗?或许你和我一样,已经预购了Oculus Rift.(你可以在发货前取消!).我想说的是,Oculus Rift需要高配置的电脑,你的电脑能否运行是个疑问?不过现在 ...

  7. python3命令需要使用命令行开发者工具_3 个 Python 命令行工具

    用 Click.Docopt 和 Fire 库写你自己的命令行应用. 有时对于某项工作来说一个命令行工具就足以胜任.命令行工具是一种从你的 shell 或者终端之类的地方交互或运行的程序.Git 和 ...

  8. Java虚拟机详解(七)------虚拟机监控和分析工具(1)——命令行

    通过前面的几篇博客,我们介绍了Java虚拟机的内存分配以及内存回收等理论知识,了解这些知识对于我们在实际生产环境中提高系统的运行效率是有很大的帮助的.但是话又说回来,在实际生产环境中,线上项目正在运行 ...

  9. idea命令行运行多个客户端_推荐一款神仙颜值的 Redis 客户端工具,开源啦

    日常开发过程中,项目常常都会使用Redis来做缓存或者Session服务器,为了更直观方便,开发者常常会使用一些可视化工具,如 Redis Desktop Manager.Redis Clent等,但 ...

最新文章

  1. 自动化配置和部署工具--puppet(1)--什么是puppet
  2. Rhel7/Centos7 修改运行级别
  3. stm32之USB应用实例(官方例程资料下载使用)
  4. RabbitMQ,Springboot整合RabbitMQ实现 消息可靠性投递,Consumer ACK,TTL,死信队列,使用TTL+死信队列=延迟队列
  5. 把握linux内核设计思想(十二):内存管理之slab分配器
  6. Spring MVC 4快速入门Maven原型已改进
  7. [css] 举例说明attr()的使用场景
  8. php点击标题进入_重新学习php基础之-E-mail(十八)
  9. 2022年认证杯SPSSPRO杯数学建模A题(第一阶段)人员的紧急疏散求解全过程文档及程序
  10. 开发大脑潜能的11种良方法
  11. sublime text2-text3 定义的不同浏览器的预览快捷键
  12. 模仿excel复合饼图 (饼-柱)
  13. 弹性地基梁板的计算理论_弹性地基梁的计算方法是什么?
  14. Ubuntu20.04右键添加新建空白文本文件的方法
  15. 小丁在美国的惬意生活 日常学学英语吃吃BBQ-猎豹体育网
  16. 怎样让你的LinkedIn动态上热门?高效使用我们的领英
  17. docker 传递 profile
  18. 接口可以继承接口吗?
  19. 字符串匹配 KMP算法 C++
  20. 正则表达式 \\w \\s \\d \\b

热门文章

  1. kindle 笔记/标注导出
  2. dtoj#4178. 配对(pair)
  3. 第一篇:Django基础
  4. WebFlux基础之响应式编程
  5. SVN提示:由于目标机器积极拒绝,无法连接 的解决方法
  6. 02-Unity深入浅出(二)
  7. 汉字内码UNICODE转换表
  8. 机房收费系统--登录窗体
  9. RotateAnimation 实现表盘指针转动
  10. linux 学习教程