Ben bir bağlantı kısaltma servisi kuruyorum ve benim URL'ler oluşturmak için bir artırılır kimlik alanının base64 kodlama / kod çözme kullanıyorum. "6" kimliği ile bir url olacaktır: http://mysite.com/Ng==
Ben de kullanıcılar http://mysite.com/music gibi, özel bir url adı oluşturmak için izin gerekiyor
İşte benim (muhtemelen hatalı) yaklaşımı çok uzak. Bu duyacağız sabitleme yardımcı.
Birisi yeni bir bağlantı oluşturur:
- Ben (bu otomatik artırılır değil) veritabanından büyük bağlantı kimliği almak
- 1 ile kimliği artırmak
- Bu kimliği base64_encoding tarafından kısa bir URL kod (http://website.com/ [url kısa adı]) oluşturun
- Bağlantılar tabloya eklemek: id, short_url_code, DESTINATION_URL
Birisi yeni bir bağlantı oluşturur ve özel bir kısa URL geçtiğinde:
- Planım kendi özel dize base64_decode ve bağlantı kimliği olarak kullanan, ama bir dizi içine base64_decode herhangi bir alfasayısal dize ve sadece açabilirsiniz fark etmedi edildi.
Bana kısa bir dizeye herhangi bir sayı dönelim ve bir dizi halinde herhangi bir dize olacak daha iyi bir kodlama yöntemi var mı, bu yüzden her zaman bir numara haline adını dönüm ve bir bağlantı için sorgulayarak (ister özel veya autogenerated) kısa adresler arama yapabilirsiniz Bu sayıya eşit bir kimliği ile?