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=500

Link codificado (para que o usuário não consiga adivinhar como obter a imagem maior):

www.mysite.com/share/encodedQUERYstring

Entã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 = 500

O método que eu uso agora codificará a string de consulta acima para:

y8xNt9VPySwC44xM3aLUYt3M3HS9rIJ0tXJbcwMDtQxbUwMDAA

O 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 usando PHP?

questionAnswers(13)

yourAnswerToTheQuestion