当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 源代码压缩小工具

PHP
用 PHP5 轻松解析 XML
扩展你的 PHP 之入门篇
创造世界上最简单的 PHP 开发模式
特转载一高手总结PHP学习资源和链接.
PHP开发入门教程之面向对象
怎样才能成为PHP高手?学会“懒惰”的编程
详解:——如何将图片储存在数据库里
PHP生成静态页面详解
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
常用表单验证类,有了这个,一般的验证就都齐了。
PHP文件下载类
一个PHP日历程序
[转帖]PHP世纪万年历
PHP语法速查表
一些常用的php函数
PHP 开发工具
PHP 5.0 Pear安装方法
弄了个检测传输的参数是否为数字的Function
PHP一些有意思的小区别
一段防盗连的PHP代码

PHP 源代码压缩小工具


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 206 ::
收藏到网摘: n/a

所有的PHP文件包在一个PHP文件移除所有的注释移除多余空格保持输出纯PHP(即不需要任何额外的处理步骤来解析这个文件) 使用方法:(在命令行运行)
复制代码 代码如下:

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);
?>