Не совсем ответ, но сравнение различных методов, предложенных здесь.
Использовали ответы @Gumbo и @deceze, чтобы получить сравнение длины довольно длинной строки, которую я использую в GET.
");
echo(strlen(base64_encode(gzcompress($test_str,9)))); echo("
");
echo(strlen(bin2hex(gzcompress($test_str, 9)))); echo("
");
echo(strlen(urlencode(gzcompress($test_str, 9)))); echo("
");
echo(strlen(rtrim(strtr(base64_encode(gzdeflate($test_str, 9)), '+/', '-_'), '=')));
?>
Вот результаты:
1799 (original length string)
928 (51.58% compression)
1388
1712
918 (51.028% compression)
Результаты сопоставимы для base64_encode с gzcompress и base64_encode с gzdeflate (и некоторыми строковыми трансляциями). gzdeflate , кажется, дает немного лучшую эффективность
Нет. Вы можете исключить его из системы контроля версий, но, вероятно, этого вы не хотите.
Ну, вы можете получить последнюю версию на общий ресурс самбы, который съедает бит только для чтения.
У меня такие же проблемы с TFS. В нашем проекте есть несколько небольших файлов базы данных SQL Server, которые мы решили поместить под контроль исходного кода. Мы решаем проблему только для чтения, добавляя их в утверждение post build при сборке проекта. Я полагаю, что мы могли бы сделать это и перед сборкой.
attrib $(TargetDir)*.mdf -r
attrib $(TargetDir)*.ldf -r