Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kompresja stringa / skracanie url
fiszol
post
Post #1





Grupa: Zarejestrowani
Postów: 452
Pomógł: 16
Dołączył: 25.05.2004
Skąd: Gorzów Wlkp.

Ostrzeżenie: (0%)
-----


Witam. Potrzebuję przepchnąć w urlu 150 bajtów tekstu (są ta 22 kolory zapisane hexie) i wygląda to mniej więcej tak:

  1. <?php
  2. $str = "C40000|E34C1E|FF9012|FFD52B|FFFF00|C3EF13|AEFF45|2FEB2F|2BFF00|54FFC0|2AB6A
    D|21A3EE|1C5CC9|0606C6|8C0FFA|B81EFA|EA2BFF|E01689|CC0E1B|FF0F1F|870000|AB0202"
    ;
  3. ?>

Jedyne co wygooglowałem to kompresja przy pomocy gzcompress() a później potraktowanie tego base64_encode żeby dało się przesłać przez http. Ta operacja pozwala oszczędzić jakieś 50 bajtów i to zawsze coś ale url wciąż pozostaje nieziemsko długi. Pytanie brzmi: czy istnieją jakiekolwiek inne <i>odwracalne</i> metody skrócenia stringa?


--------------------
\o/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
krowal
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


150 znaków to nieziemsko długi url ? biggrin.gif Nie przesadzaj, a jeśli nie chcesz mieć takiego urla to możesz te dane postem przesyłać. Kompresja jest bez sensu bo to żadna oszczędność przy tak małej ilości danych.


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
-krzotr-
post
Post #3





Goście







Każdy kolor ma 6 znaków (wywalamy separator '|')
Każdy kolor jest w HEX "ff" = \xff

  1. <?php
  2. $str = "C40000|E34C1E|FF9012|FFD52B|FFFF00|C3EF13|AEFF45|2FEB2F|2BFF00|54FFC0|2AB6A
  3. D|21A3EE|1C5CC9|0606C6|8C0FFA|B81EFA|EA2BFF|E01689|CC0E1B|FF0F1F|870000|AB0202";
  4.  
  5. $str = str_replace( '|', '', $str );
  6.  
  7. $str = base64_encode(gzdeflate(pack( 'H*', $str ), 9));
  8.  
  9. echo strlen($str);


Ciąg ma 96 bajtów

Ten post edytował krzotr 17.01.2011, 15:42:06
Go to the top of the page
+Quote Post
fiszol
post
Post #4





Grupa: Zarejestrowani
Postów: 452
Pomógł: 16
Dołączył: 25.05.2004
Skąd: Gorzów Wlkp.

Ostrzeżenie: (0%)
-----


Nie mogę postem bo te dane generuje "użytkownik", na koniec dostaje linka z kolorami które sobie wybrał i tego linka może dowolnie przekazywać innym żeby oni też mogli sobie coś w danej palecie pomieszać. Anyway, już wiem co zrobię. id||paleta w sqlu link ?paleta=id dziękuję dobranoc biggrin.gif Tak będzie najlepiej. Mimo wszystko kompresja urla wciąż mnie interesuje ;p

@krzotr: dzięki.

Ten post edytował fiszol 17.01.2011, 15:49:53


--------------------
\o/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 22:15