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