PHP 源代码压缩小工具
程序员文章站
2023-10-31 22:32:16
使用方法:(在命令行运行) 复制代码 代码如下:php compactor.php destination.php source.php 下载: 复制代码 代码如下:#!/...
使用方法:(在命令行运行)
php compactor.php destination.php source.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 compactor.php destination.php source.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);
?>
上一篇: Python之两个值对换
下一篇: joomla内置的表单验证功能使用方法