>  기사  >  백엔드 개발  >  Images_php 기술을 자동으로 스크롤하고 표시하는 PHP 방법

Images_php 기술을 자동으로 스크롤하고 표시하는 PHP 방법

WBOY
WBOY원래의
2016-05-16 20:21:153545검색

이 기사의 예에서는 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);
    }
}
?>



   
    슬라이드쇼