...기본 키를 만드는 방법은 문자입니까? 나는이 같은 기본 키를 만들
http://www.example.com/download?d=NAPHMPWI
는 ... 즉. ?d=NAPHMPWI
어떻게하면됩니까?
...기본 키를 만드는 방법은 문자입니까? 나는이 같은 기본 키를 만들
http://www.example.com/download?d=NAPHMPWI
는 ... 즉. ?d=NAPHMPWI
어떻게하면됩니까?
대부분의 데이터베이스가 기본적으로 지원하므로 기본 키를 자동 증가 정수로 만듭니다. 기본 36 (숫자 0-9 및 A-Z 사용)으로 변환하여 URL 문자열로 표시하십시오.
echo base_convert($id, 10, 36);
그리고 10을 기반으로하는 기본 (36)에서 변환하여 데이터베이스 식별자 URL을 변환 :
당신이 원하는 것은 대한d
매개 변수와 같은
char
열에 기본 키를 (만들 경우
$id = base_convert($url_key, 36, 10);
숫자 ID 만 사용하면 어떤 이점이 있습니까? – alex
그게 올바른 방법이지만, 다른 올바른 ID (megaupload와 같은 무언가가 당신을 좋아하지 않는)를 추측 할 수 있다는 단점이 있습니다. 따라서 암호화 (예 : HMAC 사용)를 사용하거나 모든 ID에 임의의 문자열을 추가하고 데이터베이스에 저장 (검색시 확인)하여 식별자에 약간의 중복성을 추가해야합니다. – Mormegil
@alex @ meotimdihia의 질문에 대답하고 짧은 URL로 더 많은 데이터를 저장하는 이점. 10000은 10 진수 5 자리, 36 진수 3 자리를 차지합니다. –
귀하가 올린 링크) :
CREATE TABLE links (Url CHAR(8) NOT NULL, PRIMARY KEY(Url))
깨진 링크입니다. – alex
업로드 한 내용이 마음에 들지 않지만 여기에 질문하십시오. 다운로드하지 않습니다. – RichardTheKiwi
"불행히도 귀하가 클릭하신 링크를 사용할 수 없습니다." - 어쨌든 사람들이 외부 링크를 클릭하여 질문에 대답해야한다고 생각해서는 안됩니다. –