이 기사의 예에서는 PHP에서 이미지를 자동으로 스크롤하고 표시하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
사진 디렉토리를 지정하면 프로그램이 자동으로 페이지의 각 사진을 스크롤하여 표시합니다. 사용 방법:
1. 슬라이드쇼 이미지 폴더를 만듭니다.
2. 이미지 폴더에서 슬라이드쇼를 삭제하세요.
3. 다음 코드를 인코딩한 후 텍스트 파일에 붙여넣고 이름을 “index.php”로 지정하세요
4. 디렉토리에 파일 업로드
5. 6행과 8행을 해당 설정으로 바꿉니다.
6. 실행(4번에서 설정한 URL 이용)
코드는 다음과 같습니다.
/*
PHP 이미지 슬라이드쇼 - 자동 버전 - PHP5
*/
// 이미지가 포함된 디렉터리의 절대 경로를 설정합니다
정의('IMGDIR', '/home/devel/public_html/domain.com/public/images/slideshow/');
// 동일하지만 www의 경우
정의('WEBIMGDIR', '/images/slideshow/');
// 슬라이드쇼 "쿠키"에 대한 세션 이름 설정
정의('SS_SESSNAME', 'slideshow_sess');
// 전역 오류 변수
$err = '';
// img 세션 시작
세션_이름(SS_SESSNAME);
session_start();
// 슬라이드쇼 클래스 초기화
$ss = 새 슬라이드쇼($err);
if (($err = $ss->init()) != '')
{
header('HTTP/1.1 500 내부 서버 오류');
에코 $err;
종료();
}
// 디렉토리에서 이미지 파일을 가져옵니다
$ss->get_images();
// 변수 설정이 완료되었습니다.
list($curr, $caption, $first, $prev, $next, $last) = $ss->run();
/*
슬라이드쇼 클래스, 독립형으로 사용할 수 있음
*/
수업 슬라이드쇼
{
개인 $files_arr = NULL;
개인 $err = NULL;
공개 함수 __construct(&$err)
{
$this->files_arr = 배열();
$this->err = $err;
}
공개 함수 init()
{
// img 배열 세션 var가 비어 있는 경우에만 작업을 실행합니다
// 이미지 디렉토리가 있는지 확인
if (!$this->dir_exists())
{
return '이미지 검색 오류, 디렉터리 누락';
}
반환 '';
}
공개 함수 get_images()
{
// img 배열 세션 var가 비어 있는 경우에만 작업을 실행합니다
if (isset($_SESSION['imgarr']))
{
$this->files_arr = $_SESSION['imgarr'];
}
그 외
{
if ($dh = opendir(IMGDIR))
{
while (false !== ($file = readdir($dh)))
{
if (preg_match('/^.*.(jpg|jpeg|gif|png)$/i', $file))
{
$this->files_arr[] = $file;
}
}
closeir($dh);
}
$_SESSION['imgarr'] = $this->files_arr;
}
}
공개 함수 run()
{
$curr = 1;
$last = count($this->files_arr);
if (isset($_GET['img']))
{
if (preg_match('/^[0-9] $/', $_GET['img'])) $curr = (int) $_GET['img'];
if ($curr <= 0 || $curr > $last) $curr = 1;
}
if ($curr <= 1)
{
$prev = $curr;
$next = $curr 1;
}
else if ($curr >= $last)
{
$prev = $last - 1;
$다음 = $마지막;
}
그 외
{
$prev = $curr - 1;
$next = $curr 1;
}
// 아래 줄은 캡션 이름을 설정합니다...
$caption = str_replace('-', ' ', $this->files_arr[$curr - 1]);
$caption = str_replace('_', ' ', $caption);
$caption = preg_replace('/.(jpe?g|gif|png)$/i', '', $caption);
$caption = ucfirst($caption);
return array($this->files_arr[$curr - 1], $caption, 1, $prev, $next, $last);
}
개인 함수 dir_exists()
{
return file_exists(IMGDIR);
}
}
?>
슬라이드쇼