파일 첨부한 동영상을 리스트에서 불러오고 싶습니다. 채택완료
안녕하세요.
파일로 첨부한 동영상을 본문에서는
<?php
// 파일 출력, 비디오 파일
$video_count = count($view['file']);
if($video_count) {
echo "<div>\n";
for ($i=0; $i<=count($view['file']); $i++) {
if ($view['file'][$i]['file'] && @preg_match("/.mp4/i", $view['file'][$i]['file'])) {
echo '<div><video controls autoplay="" loop="" muted>';
echo '<source src="'.G5_URL."/data/file/".$bo_table."/".$view['file'][$i]['file'].'" type="video/mp4">';
echo '</video></div>';
}
}
echo "</div>\n";
}
?>
로 불러오고 있습니다.
동영상을 리스트에서도 불러오려면 검색해보니 $view를 $list[$i]로 변경해야한다기에 아래 처럼 넣었습니다.
<?php
// 파일 출력, 비디오 파일
$video_count = count($list[$i]['file']);
if($video_count) {
echo "<div>\n";
for ($i=0; $i<=count($list[$i]['file']); $i++) {
if ($list[$i]['file'][$i]['file'] && @preg_match("/.mp4/i", $list[$i]['file'][$i]['file'])) {
echo '<div><video controls autoplay="" loop="" muted>';
echo '<source src="'.G5_URL."/data/file/".$bo_table."/".$list[$i]['file'][$i]['file'].'" type="video/mp4">';
echo '</video></div>';
}
}
echo "</div>\n";
}
?>
이렇게 올렸더니, 리스트에 동영상이 불러와 지기는 하는데,
동영상 아래
count(): Parameter must be an array or an object that implements Countable
에러가 나며 동영상외 본문 내용은 하나도 안나오고 리스트에 다른 게시물이 하나도 안보입니다.
어떤 경우에는 리스트에 동영상이 나오긴 하는데,
본문 내용은 다른 게시물의 내용이 나오며, 역시 리스트에 다른 게시물은 안보이는 등 무언가 뒤죽박죽 되면서 에러가 나고있습니다.
질문게시판 검색해서
for ($i=0; $i<=count($list[$i]['file']); $i++) {
를
for ($i=0; $i<=count((array) $list[$i]['file']); $i++) {
나
for ($i=0, $cnt=count($list[$i]['file']); $i<=$cnt; $i++) {
나
$cnt = 0;
if (is_array($list[$i]['file']))
$cnt = count($list[$i]['file']);
for ($i=0; $i<=$cnt; $i++) {
등으로 수정해봐도 동일한 현상입니다.
리스트에서 첨부한 동영상 제대로 보여줄 수 있는 방법 있을까요?
아시는 분 답변 주시면 정말 감사하겠습니다.
답변 3개
에러 그대로 count 함수를 사용못하는 값을 count 시도하셔서 발생하시는 에러이다보니
function displayRandomVideos($videoArray, $boardTable) {
if (is_array($videoArray)) {
foreach ($videoArray as $videoItem) {
if ($videoItem['file'] && preg_match("/.mp4/i", $videoItem['file'])) {
echo '<div><video controls autoplay loop muted>';
echo '<source src="'.G5_URL."/data/file/".$boardTable."/".$videoItem['file'].'" type="video/mp4">';
echo '</video></div>';
}
}
}
}
함수 콜 ($view['file'], $board_table);
답변에 대한 댓글 4개
함수콜 하면 동영상이 보이기에 저걸 리스트에 사용하시면 됩니다.
제가 기본지식이 없다보니 검색으로 수정만 하는 정도라서,
적어주신 내용 참고해서 이리저리 수정해보려고해도 잘 안되네요.
https://sir.kr/g5_skin/56803
를 참고해서 해결하였습니다.
감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
질문의 코드가 안되는이유는
loop변수가 for($i=0; $i<~~~~)처럼 $i인데
for문내에서 다시 for ($i=0; $i<=count~~~)로 loop변수를 $i로 지정 해버렸기 때문입니다
$j 처럼 버꾸면 됩니다
답변에 대한 댓글 1개
친절하신 답변 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
알려주신 소스를 어느 부분에 어떤식으로 넣어야 하는지 자세히 알려주실 수 있으신지요?
제가 이리저리 넣어봐도 잘 안되서요.