0
어떻게 php7에있는 파일의 임의의 이름을 생성합니까? random_bytes
우리는 _шИ ¶.png
과 같은 기호를 반환합니다. 다른 어떤 기능을 사용할 수 있습니까?PHP 7의 파일에 대한 임의의 이름
편집 : uniqueid()를 사용할 수 있지만 조금 오래되지 않았습니까?
어떻게 php7에있는 파일의 임의의 이름을 생성합니까? random_bytes
우리는 _шИ ¶.png
과 같은 기호를 반환합니다. 다른 어떤 기능을 사용할 수 있습니까?PHP 7의 파일에 대한 임의의 이름
편집 : uniqueid()를 사용할 수 있지만 조금 오래되지 않았습니까?
random_bytes
의 출력을 수정하여 인쇄 할 수있는 문자 범위로 제한 할 수 있습니다.
예 :
// Ascii 126=~, 32=[space], so the lower ASCII printable block
define('RANDOMIZVI_RANGE_DEFAULT', 126-32);
function randomizvi(int $length, $range = RANDOMIZVI_RANGE_DEFAULT){
$bytes = random_bytes($length);
for($i = 0;$i < $length;$i++){
$bytes[$i] = chr((ord($bytes[$i]) % $range) + 32);
}
return $bytes;
}
그것은 원액의 종류,하지만 그것을 작동합니다. 이 특정 구현은 특정 문자에 대해 약간 편향됩니다.
정말로 임의의 파일 이름을 필요로하지 않는다면 번호를 매기는 것이 더 간단 할 수 있습니다. 충돌 가능성을 피할 수 있습니다.
uniqid()를 사용할 때 아무런 문제가 없습니다. 더 이상 사용되지 않습니다. 'echo '가 너무 오래되었다고 말할 수도 있습니다. –
비록, wrt uniqid - "이 함수는 임의적이거나 예측할 수없는 문자열을 생성하지 않습니다.이 함수는 보안 목적으로 사용하면 안됩니다." - https://stackoverflow.com/questions/4070110/how-unique-is-uniqid 그래서 * 솔루션을 선택하려면 "임의"*에 대한 요구 사항을 사용해야합니다. – user2864740