![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 3.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
opiszę pokrótce swoją sytuację: - przesyłam z poziomu klienta opis obrazka do PHP w formie ciągu hexowych opisów koloru kolejnych pixeli (np. fffdf8.ffffff.ffffff.ffffff.fefcf3 etc) - ponieważ danych jest dużo, zaimplementowałem po stronie klienta prostą kompresję w rodzaju RLE, tzn. jeśli 3 kolejnych pixele mają taki sam kolor - powiedzmy ffffff, zapisuję to jako 3xffffff (przykładowy ciąg wygląda więc tak: fffdf8.3xffffff.fefcf3) - żeby 'rozpakować' to po stronie serwera, używam następującej funkcji:
i tu pojawia się problem... $multiplier (czyli n z nxffffff) po skonwertowaniu do int zawsze ma wartość zero! (jeśli jednak wypiszę go jako string, ma poprawną wartość n) nie mam pojęcia, dlaczego tak się dzieje, próbowałem też z intval(), ale to nie pomogło. nie jest to też na pewno problem danych przesyłanych od klienta, bo testowałem to również z wartością $dataset wpisaną do skryptu. będę bardzo wdzięczny za wszelką pomoc. gdyby ktoś chciał potestować, poniżej uproszczony kod zaznaczający problem.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 9 Dołączył: 3.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
jak na moje to regularkę masz nie do końca prawidłową... bo nx albo masz albo nie masz... a w regularce zawsze ma być... dlatego większości nie wychwytuję, ale mogę się mylić na ereg'ach się nie znam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) bo mnie nastawili na nie jak na czyste zło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
poza tym jest taka funkcja jak str_repeat" title="Zobacz w manualu PHP" target="_manual dlatego też proponuję:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 18:42 |