Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak zakodować URL/adres e-mail?
Forum PHP.pl > Forum > PHP
colargol
Witam!

Jak najprościej zakodować string będący URLem lub adresem e-mail (np. www.onet.pl/12345/6789/) na inny string, tak żeby:
- nie był w posty sposób odkodowany przez usera (np. dwa adresy: wp.pl/1/ i wp.pl/2/ po zakodowaniu nie mogą się różnić jednym znakiem)
- był "spakowany", czyli zawierał mozliwie najmniejszą liczbę znaków nawet dla długich URLi
- nie było potrzeby zapisywania go do bazy (bez identyfikatorów przypisanych do URLi)
Skie
Może serialize() i unserialize()
erix
Cytat
- był "spakowany", czyli zawierał mozliwie najmniejszą liczbę znaków nawet dla długich URLi
- nie było potrzeby zapisywania go do bazy (bez identyfikatorów przypisanych do URLi)

IMHO to się koliduje.

~Skie, to tylko wydłuży. tongue.gif
blooregard
Pierwsze rozwiązanie: base64_encode() / base64_decode()
Wada: średnio kumaty rozpozna, że jest to ciąg BASE64 (chocby po znakach '=' na końcu, będących dopełnieniem)

Drugie rozwiązanie: napisać własną f-cję kodującą/dekodującą
Wada: ciężko będzie Ci opracować algorytm, w którym wynikowy ciąg będzie niezależny od długości URL-a
ert16
Jeśli nie musisz dekodować, a tylko sprawdzać czy to ten url został zakodowany (często można sprowadzić sytuację do tego stanu) :
- MD5
- Sha1
maly_swd
ZIP. GZIP winksmiley.jpg - ciag sie wydluzy ale bedzie zakodowany...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.