Buenas, tengo un problema y nose como resolverlo, quiero pasar por url los nombres de los archivos js y css para poder unirlos y comprimirlos, el problema radica en que la url que crea es demasiado larga, me queda una url con 42000 caracteres con solo 3 archivos y sus respectivos path, mi idea es hacer eso dinamicamente para que la transferencia de servidor / cliente sea menor (asi ahorramos ancho de banda de transferencia del hosting y hacemos el sitio mas veloz en la carga).

Actualmente la funcion para enviar por url es la siguiente es la siguiente

Código PHP :

function compress_merge_js_css($files = '') {
   $js = '';
   $css = '';
   foreach ((!is_array($files) ? array($files) : $files) as $file):
      if (substr($file, -3) == '.js') $js .= (!empty($js) ? '|' : '') . file_get_contents($file);
      elseif (substr($file, -4) == '.css') $css .= (!empty($css) ? '|' : '') . file_get_contents($file);
   endforeach;
   if (strlen($js) > 0) echo '<script type="text/javascript" src="?compress_merge_js_css='.urlencode(base64_encode(gzcompress($js))).'">'."\n";
   elseif (strlen($css) > 0) echo '<link type="text/css" rel="stylesheet" href="?compress_merge_js_css='.urlencode(base64_encode(gzcompress($css))).'">'."\n";
}


esta es la que crea los archivos js y css comprimidos

Código PHP :

function __compress_merge_js_css($files) {
   $js = '';
   $css = '';
   $files = explode('|', base64_decode(urldecode(gzuncompress($files))));
   foreach ((!is_array($files) ? array($files) : $files) as $file):
      if (substr($file, -3) == '.js') $js .= file_get_contents($file);
      elseif (substr($file, -4) == '.css') $css .= file_get_contents($file);
   endforeach;
   $a = new jsCssCompressor();
   if (strlen($js) > 0 && strlen($css) > 0) {
      $a->makeJs($pathes, $to);
      $a->makeCss($pathes, $to);
   } elseif (strlen($js) > 0) {
      header("Content-Disposition: attachment; filename=compressed.js");
      jsCssCompressor::compressJs($js);
      exit;
   } elseif (strlen($css) > 0) {
      header("Content-Disposition: attachment; filename=compressed.css");
      jsCssCompressor::compressCss($css);
      exit;
   }
}


El problema que necesito resolver es como hacer para pasar los valores de los archivos para que solo comprima los que le pida.