파일 목록 가져올때 순서 저장이요 ㅜ
본문
현재 지정한 디렉토리 내 파일 목록을 가져올 때, 기본적인 readdir 함수로 처리하고 있어요~
while( ($file = readdir($dir)) !== false)
{
if($file[0] != ".")
{
}
}
그런데 이렇게 목록을 가져오면, $file에 저장되는 순서가 윈도우 탐색기에서 보는 목록 순서와는 다르네요 ㅜ
지금 가장 큰 문제는, 파일 목록이 1, 2, 3, 4, ...., 10, 11, ... 이렇게 있으면
저는 순서대로 1, 2, 3, 4, ..., 10, 11, 12, ... 이렇게 가져오고 싶은데, 위 함수에서는 1,10,11,12, ..., 2, 20, 21, 22, ...
이렇게 가져와지네요..
파일 이름을 1 -> 01 이렇게 바꾸는 외에, 소스를 고쳐서 해결 할 수 있는 방법이 있나요?
while( ($file = readdir($dir)) !== false)
{
if($file[0] != ".")
{
}
}
그런데 이렇게 목록을 가져오면, $file에 저장되는 순서가 윈도우 탐색기에서 보는 목록 순서와는 다르네요 ㅜ
지금 가장 큰 문제는, 파일 목록이 1, 2, 3, 4, ...., 10, 11, ... 이렇게 있으면
저는 순서대로 1, 2, 3, 4, ..., 10, 11, 12, ... 이렇게 가져오고 싶은데, 위 함수에서는 1,10,11,12, ..., 2, 20, 21, 22, ...
이렇게 가져와지네요..
파일 이름을 1 -> 01 이렇게 바꾸는 외에, 소스를 고쳐서 해결 할 수 있는 방법이 있나요?
답변 2
파일이름을 배열에 먼저 넣으시고
natsort 를 한번 하시고 뿌려주세요~~
natsort 를 한번 하시고 뿌려주세요~~
문자열로 정렬되서 그래요...
숫자의 경우 1, 20, 10, 2 일 경우 오름차순으로 했을 때 1, 2, 10, 20 이 맞지만
문자열은 오름차순 시 1, 10, 2, 20... 이 정상적인거죠..
답변을 작성하시기 전에 로그인 해주세요.