> 백엔드 개발 > PHP 튜토리얼 > PHP uniqid() 함수 사용법_php 기술

PHP uniqid() 함수 사용법_php 기술

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-05-16 20:33:20
원래의
1022명이 탐색했습니다.

이 기사의 예에서는 PHP에서 uniqid() 함수의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법 분석은 다음과 같습니다.

uniqid() 함수는 마이크로초 단위의 현재 시간을 기준으로 고유 ID를 생성합니다.
참고: 이 함수로 생성된 ID는 시스템 시간을 기반으로 하기 때문에 최적이 아닙니다. 완전히 고유한 ID를 생성하려면 md5() 함수를 사용하십시오(문자열 함수 참조에서 찾으세요).

코드 복사 코드는 다음과 같습니다.
echo uniqid();
?>

이 예에서는 32자의 고유한 문자열을 생성합니다.

코드 복사 코드는 다음과 같습니다.
$token = md5(uniqid(rand()));
echo $token;
?>


uniqid()는 마이크로초 단위의 정확한 현재 시간을 기반으로 접두사가 붙은 고유 식별자를 반환합니다.
단지 현재 시간을 기준으로 한다고 말할 뿐, 현재 시간과 어떤 관련이 있는지는 설명하지 않습니다.
echo uniqid(); uniqid는 항상 길이가 13인 변경되는 16진수임을 알 수 있습니다.

다음 코드를 살펴보겠습니다.

코드 복사 코드는 다음과 같습니다.
echo hexdec(uniqid())/(time() 마이크로타임())
?>

출력은 기본적으로 약 1048576입니다.

uniqid는 마이크로초 단위의 정확한 현재 시간에 1048576(2의 20승)을 곱하여 최종적으로 16진수로 변환한 것이라고 결론 내릴 수 있습니다.
uniqid와 시간의 관계를 알면 uniqid의 용도가 더 넓어집니다. 예를 들어 uniqid는 포럼 게시물의 파일 이름으로 사용될 수 있습니다.

게시물 색인에서는 시간별로 게시물을 쉽게 검색할 수 있습니다.

위, 아래 코드를 보면 반복되지 않는 32비트 문자를 생성하는 기능인 것 같아요

uniqid() 함수 자체는 현재 시간(마이크로초)을 기준으로 하므로 동시성이 높은 상황에서는 반드시 중복이 발생합니다. 해결 방법은 이 전제 하에서 난수를 생성할 수 있다는 것입니다. 반복 가능성을 줄이는 새로운 숫자입니다. 그래도 좀 더 정밀하게 하고 싶다면 클라이언트 IP의 MD5 코드를 추가해 함께 생성할 수도 있다. 이런 식으로 하면 중복 확률이 극히 낮아 중복이 거의 없다고 할 수 있다.

코드 복사 코드는 다음과 같습니다.
함수 getRand(){
uniqid() rand(1, 100000)을 반환합니다.
}
echo getRand();
나가세요;
?>

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿