Menor string codificada possível com possibilidade de decodificação (URL abreviada) usando apenas PHP
Estou procurando um método que codifique uma string paramais curto comprimento possível e deixa serdecodível (PHP puro, sem SQL). Eu tenho um script de trabalho, mas não estou satisfeito com o comprimento da string codificada.
CENÁRIO:
Link para uma imagem (depende da resolução do arquivo que quero mostrar ao usuário):
www.mysite.com/share/index.php?img=/dir/dir/hi-res-img.jpg&w=700&h=500Link codificado (para que o usuário não consiga adivinhar como obter a imagem maior):
www.mysite.com/share/encodedQUERYstringEntão, basicamente, eu gostaria de codificar apenas a parte da consulta de pesquisa do URL:
img = / dir / dir / oi-res-img.jpg & w = 700 & h = 500O método que eu uso agora codificará a string de consulta acima para:
y8xNt9VPySwC44xM3aLUYt3M3HS9rIJ0tXJbcwMDtQxbUwMDAAO método que eu uso é:
$raw_query_string = 'img=/dir/dir/hi-res-img.jpg&w=700&h=500';
$encoded_query_string = base64_encode(gzdeflate($raw_query_string));
$decoded_query_string = gzinflate(base64_decode($encoded_query_string));
Como reduzo o resultado codificado e ainda tenho a possibilidade de decodificá-lo usandosó PHP?