제목 | get_dir_file_info로 파일을 불러올 때의 문제... | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | madman | 작성시각 | 2017/04/11 16:38:55 |
|
|||
get_dir_file_info function을 이용해 서버에 업로드 되어있는 mp3파일을 불러온 뒤에 foreach로 돌려 목록으로 뿌려주는 페이지가 있습니다. 특정 섹션에 대한 문제가 각 15개씩 있고, 그 문제에 대한 학생의 녹음파일을 불러오는건데요. (조건은 그러니까 섹션코드/학생코드/파일갯수입니다. 파일갯수는 15개) 문제는 서버에 올라가있는 파일이 무려 총 90만개가 넘습니다. 용량만 85GB... get_dir_file_info로 불러오는 파일갯수가 그렇다보니 foreach 루프를 돌릴때 500 에러가 떨어지는건데.. 좋은 방법이 없을까요? file_exists를 통해 파일 유무를 검사하려해도 애초부터 파일이 많다보니.. 좋은 방법이 없을까요? 고민이 크네요..
$noList = $this->model->SpkList(array('A.SET' => (int)$set)); //model을 통해 목록을 불러옵니다. 회당 총 15개입니다. $dir = get_dir_file_info(/path/directory); // 샘플 디렉토리입니다. $number = 16; foreach($noList as $no) { $data = array('no' => $number++, 'eng' => $no['ENG'], 'file' => null); foreach($dir as $var) { $regExp = "/^{$set}.*.{$no['NO']}.mp3$/"; if(preg_match($regExp, $var['name'])) { $data['file'] = $var['relative_path'].$var['name']; } } }
|
|||
다음글 | location.href 관련 질문.. (1) | ||
이전글 | php 오류 문제인데 이런 에러는 처음봐서 도움 요청합... (1) | ||
변종원(웅파)
/
2017/04/11 17:23:14 /
추천
1
|
madman
/
2017/04/12 12:58:38 /
추천
0
답변 감사합니다.
|
애초에 디렉토리를 나누지 않은 것이 문제가 됐네요.
프로그램 말고 콘솔에서 파일 리스트를 읽어서 db화 하고 그 db를 기준으로 파일을 가져와서 출력하도록 하셔야 할 것 같네요.
꼭 프로그램으로 해야한다면 php.ini에서 타임아웃과 메모리 사용량 제한을 없애고 해보세요.
(cpu, memory 둘다 full 되면 서버 죽을 수도 있습니다)