Ben üzerinde çalışıyorum site kendi kısaltılmış URL'ler oluşturmak yerine tinyurl veya bit.ly. gibi üçüncü bir tarafa güvenmek istiyor
Açıkçası ben de siteye eklenen yeni URL'leri saymak ve kısa URL'ler oluşturmak için kullanabilirsiniz bir çalışan tutmak olabilir. Ama önlemek için çalışıyorum ki sadece bu bir şey işi yapmak için bir sürü iş gibi görünüyor çünkü eğer mümkünse.
Kısa URL'ler ihtiyaç şeyleri webserver tüm gerçek fiziksel dosyaları gibi benim şimdiki çözüm kullanmaya hazır ve benzersiz olmasını garanti olanlar zaten benim için oluşturulan olarak inode numaraları kullanmaktır.
function short_name($file) {
$ino = @fileinode($file);
$s = base_convert($ino, 10, 36);
return $s;
}
Bu iş gibi görünüyor. Soru Ben kısa URL bile kısa yapmak için ne yapabilirim, nedir?
Bu kullanılan sistemde, yeni eklenen dosyalar için düğüm 7 karakter uzunluğunda bir dize döndürür yukarıda fonksiyonunu yapan bir aralıkta bulunmaktadır.
Ben güvenli bir inode bit uzak bazı (yarısı?) Atabilir miyiz? Ve eğer öyleyse, bu yüksek bit veya düşük bit olmalıdır?
Ben dosya adının crc32 kullanarak düşündüm, ama aslında inode kullanarak daha benim kısa isimler uzun yapar.
Böyle bir şey çarpışmalar herhangi bir risk olurdu? Ben "$ referencefile" doğru değeri seçerek tek haneli rakamlara aşağı almak mümkün oldum.
function short_name($file) {
$ino = @fileinode($file);
// arbitrarily selected pre-existing file,
// as all newer files will have higher inodes
$ino = $ino - @fileinode($referencefile);
$s = base_convert($ino, 10, 36);
return $s;
}