묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
랜덤하게 반복 시킬 수는 없을까요?
2003.08.04 04:19
$filename = "/절대주소/cgi-bin/xx.cgi"; // 배너 소스 파일 지정
$data = file($filename); // 배너소스파일 열어서 $data에 배열로 저장
$line = sizeof($data); // $data 배열의 개수를 $line에 저장
srand((double)microtime()*1000000);
$num = time(0,count($line) - 1); // time(0,count($line) - 1);값을 $num에 저장
$num = $num % $line; // $num을 배열개수로 나눈 나머지를 $num에 저장
echo "$data[$num]"; // $data 배열의 $num번째 데이타를 화면에 출력
?>
와 같이 구성 되어 있는 문이 있습니다. xx.cgi 는 대략 다섯개 정도의 문으로 구성 되어 있습니다. xx.cgi 에서 1~5까지 한번씩 랜덤하게 출력하고 다시 반복하는 식을 알고 싶습니다. 현재 위와 같이 구성하면 1~5까지 돌고는 그냥 2~3회 정도의 간격을 쉬어 버려 결과가 출력되지 않습니다. 구성이 좀더 랜덤 해야 겠다는 생각에 $num = time(0,count($line) - 1); 를
$num = time() %mt_rand(0,count($line) - 1); 와 같이도 바꾸어 보았으나 한번 출력된 결과만 유지되지 다시 불러 오지 않는 듯 보입니다. 현재로서는 위와 같이 쓰고 있지만 5번정도만 결과가 출력되고 멈춘 뒤 브라우져에서 새로고침을 4~5번 해야 결과가 나옵니다. 좀더 랜덤하게 반복 시킬 수는 없습니까?
$data = file($filename); // 배너소스파일 열어서 $data에 배열로 저장
$line = sizeof($data); // $data 배열의 개수를 $line에 저장
srand((double)microtime()*1000000);
$num = time(0,count($line) - 1); // time(0,count($line) - 1);값을 $num에 저장
$num = $num % $line; // $num을 배열개수로 나눈 나머지를 $num에 저장
echo "$data[$num]"; // $data 배열의 $num번째 데이타를 화면에 출력
?>
와 같이 구성 되어 있는 문이 있습니다. xx.cgi 는 대략 다섯개 정도의 문으로 구성 되어 있습니다. xx.cgi 에서 1~5까지 한번씩 랜덤하게 출력하고 다시 반복하는 식을 알고 싶습니다. 현재 위와 같이 구성하면 1~5까지 돌고는 그냥 2~3회 정도의 간격을 쉬어 버려 결과가 출력되지 않습니다. 구성이 좀더 랜덤 해야 겠다는 생각에 $num = time(0,count($line) - 1); 를
$num = time() %mt_rand(0,count($line) - 1); 와 같이도 바꾸어 보았으나 한번 출력된 결과만 유지되지 다시 불러 오지 않는 듯 보입니다. 현재로서는 위와 같이 쓰고 있지만 5번정도만 결과가 출력되고 멈춘 뒤 브라우져에서 새로고침을 4~5번 해야 결과가 나옵니다. 좀더 랜덤하게 반복 시킬 수는 없습니까?
댓글 2
-
teslaMINT
2003.08.04 04:48
http://www.nzeo.com/bbs/zboard.php?id=p_study&no=489 -
발 없는 새
2003.08.06 00:36
teslaMINT님 고맙습니다. 하지만 주소를 따라 간 곳의 설명은 이미 찾아 본 것입니다. 가르쳐 주신 곳의 설명되로 하면 한번 출력된 내용이 어지간 해서는 바뀌지 않는 문제점이 있습니다. 위의 time을 쓸 경우에는 페이지 이동시 쉽게 출력 내용이 바뀌기는 하지만 다시 리턴이 되는데 제가 5개 정도 랜덤하게 출력 시킨다면 5번 정도는 출력이 안되는 문제점이 있습니다. 둘을 잘 사용하면 문제가 해결 되지 않을까 해서 조합해 보았는데 php문외안이라 허접스런 결과만 얻고 있습니다. 답변 주셔서 감사합니다.