Mailinglisten-Archive |
>>und mit was komprimierst du das ganze?
>Wenn ich spekulieren dürfte.
>Wenn er alle unnötigen Leerzeichen und Kommentare entfernt,
>hat er das Ding "komprimiert".
>Es gibt doch diese Wettbewerbe bei dem die Teilnehmer versuchen
>einen funktionierenden Code für ein vorgegebenes Problem, so zu
>schreiben das keiner mehr durchblickt.
jepp, so han i des gmeint.
anbei ein schneller hack:
<html>
<head>
<title>Compressor</title>
</head><body>
<?php
error_reporting(E_ALL);
$handle=opendir("./");
while ($files = readdir($handle)) {
if( is_file($files)==true && preg_match("/^cms.*/i",$files)==true ) {
$filesize_old = filesize($files);
$file = implode("",file($files));
$file = preg_replace("=/\*.*\*/=msU","",$file);
$file = preg_replace("/;\s+/ms",";",$file);
$file = preg_replace("/\s+/"," ",$file); /* [ \t\n\r\f] */
$file = preg_replace("/>\s+</","><",$file);
/*******
funzt theoretisch problemlos
verlangsamt den PHP parser um ca. 0.1 - 0.2 sekunden
und gibt probleme mit dem code ...
jedoch kann man ev. die = und != und == lassen
vorher:
preg_replace("/( or )$/","",$wp)
nachher:
preg_replace("/(or)$/","",$wp)
$file = preg_replace("=(\s+)?\{(\s+)=","{",$file);
$file = preg_replace("=(\s+)?\}(\s+)=","}",$file);
$file = preg_replace("=(\s+)?\((\s+)=","(",$file);
$file = preg_replace("=(\s+)\)(\s+)?=",")",$file);
$file = preg_replace("/(\s+)?=(\s+)/","=",$file);
$file = preg_replace("/(\s+)?==(\s+)/","==",$file);
$file = preg_replace("/(\s+)?!=(\s+)/","!=",$file);
$file = str_replace("<?php}","<?php }",$file);
***************/
/* damit das copyright reinkommt */
$file = preg_replace("=^(\s*<\?php)=","",$file);
$fp = fopen($files,"w+");
if( preg_match("=(htm(l?))$=",$files) != true ){
fwrite($fp,( preg_match("=(js)$=",$files) == true ? "" : "<?php" ).'
/************************
*
* This Software bla bla bla
***********************/
');
}
fwrite($fp,$file);
fclose($fp);
clearstatcache();
$filesize_new = filesize($files);
$compressed = 100 - (($filesize_new * 100) / $filesize_old);
echo "Done: $files - Compressrate: ".sprintf("%.3f",$compressed)."
%<br>\n";
flush();
}
}
closedir($handle);
?>
</body></html>
php::bar PHP Wiki - Listenarchive