Home  >  Article  >  Backend Development  >  PHP source code compression gadget_PHP tutorial

PHP source code compression gadget_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:41:481239browse

Usage: (Run on the command line)

Copy code The code is as follows:

php compactor.php DESTINATION.php SOURCE. php

Download: compactor.php
Copy code The code is as follows:

#!/ 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.nntUsage: 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, '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);
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/321091.htmlTechArticleUsage: (Run on the command line) Copy the code as follows: php compactor.php DESTINATION.php SOURCE.php Download: compactor.php Copy the code as follows: #!/usr/bin/env php ?php...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn