> 백엔드 개발 > PHP 튜토리얼 > PHP를 사용하여 페이지에서 이미지를 자동으로 스크롤하고 표시하는 방법

PHP를 사용하여 페이지에서 이미지를 자동으로 스크롤하고 표시하는 방법

墨辰丷
풀어 주다: 2023-03-31 19:44:01
원래의
3985명이 탐색했습니다.

이 글은 주로 PHP에서 그림을 자동으로 스크롤하는 방법을 소개합니다. PHP에서 그림 특수 효과를 조작하는 기술이 필요합니다.

이 글의 예는 다음과 같습니다. PHP의 자동 스크롤 표시 방법. 자세한 내용은 다음과 같습니다.

사진 디렉토리를 지정하면 프로그램이 자동으로 페이지의 각 사진을 스크롤하여 표시합니다. 사용 방법:

1.
2. 이미지 폴더에 있는 슬라이드쇼를 삭제하세요.
3. 다음 코드를 인코딩한 후 텍스트 파일에 붙여넣고 이름을 "index.php"로 지정합니다.
4. 파일을 디렉터리에 업로드합니다.
5. 6행과 8행을 해당 설정으로 바꿉니다.
6. 실행(4단계에서 설정한 URL 사용)

코드는 다음과 같습니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

<?

/*

    PHP image slideshow - auto version - PHP5

*/

// set the absolute path to the directory containing the images

define (&#39;IMGDIR&#39;, &#39;/home/devel/public_html/domain.com/public/images/slideshow/&#39;);

// same but for www

define (&#39;WEBIMGDIR&#39;, &#39;/images/slideshow/&#39;);

// set session name for slideshow "cookie"

define (&#39;SS_SESSNAME&#39;, &#39;slideshow_sess&#39;);

// global error variable

$err = &#39;&#39;;

// start img session

session_name(SS_SESSNAME);

session_start();

// init slideshow class

$ss = new slideshow($err);

if (($err = $ss->init()) != &#39;&#39;)

{

    header(&#39;HTTP/1.1 500 Internal Server Error&#39;);

    echo $err;

    exit();

}

// get image files from directory

$ss->get_images();

// set variables, done.

list($curr, $caption, $first, $prev, $next, $last) = $ss->run();

/*

    slideshow class, can be used stand-alone

*/

class slideshow

{

    private $files_arr = NULL;

    private $err = NULL;

    public function __construct(&$err)

    {

        $this->files_arr = array();

        $this->err = $err;

    }

    public function init()

    {

        // run actions only if img array session var is empty

        // check if image directory exists

        if (!$this->dir_exists())

        {

            return &#39;Error retrieving images, missing directory&#39;;

        }

        return &#39;&#39;;

    }

    public function get_images()

    {

        // run actions only if img array session var is empty

        if (isset($_SESSION[&#39;imgarr&#39;]))

        {

            $this->files_arr = $_SESSION[&#39;imgarr&#39;];

        }

        else

        {

            if ($dh = opendir(IMGDIR))

            {

                while (false !== ($file = readdir($dh)))

                {

                    if (preg_match(&#39;/^.*\.(jpg|jpeg|gif|png)$/i&#39;, $file))

                    {

                        $this->files_arr[] = $file;

                    }

                }

                closedir($dh);

            }

            $_SESSION[&#39;imgarr&#39;] = $this->files_arr;

        }

    }

    public function run()

    {

        $curr = 1;

        $last = count($this->files_arr);

        if (isset($_GET[&#39;img&#39;]))

        {

            if (preg_match(&#39;/^[0-9]+$/&#39;, $_GET[&#39;img&#39;])) $curr = (int)  $_GET[&#39;img&#39;];

            if ($curr <= 0 || $curr > $last) $curr = 1;

        }

        if ($curr <= 1)

        {

            $prev = $curr;

            $next = $curr + 1;

        }

        else if ($curr >= $last)

        {

            $prev = $last - 1;

            $next = $last;

        }

        else

        {

            $prev = $curr - 1;

            $next = $curr + 1;

        }

        // line below sets the caption name...

        $caption = str_replace(&#39;-&#39;, &#39; &#39;, $this->files_arr[$curr - 1]);

        $caption = str_replace(&#39;_&#39;, &#39; &#39;, $caption);

        $caption = preg_replace(&#39;/\.(jpe?g|gif|png)$/i&#39;, &#39;&#39;, $caption);

        $caption = ucfirst($caption);

        return array($this->files_arr[$curr - 1], $caption, 1, $prev, $next, $last);

    }

    private function dir_exists()

    {

        return file_exists(IMGDIR);

    }

}

?>

로그인 후 복사

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<!DOCTYPE html >

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>Slideshow</title>

    <style type="text/css">

    body{margin: 0;padding: 0;font: 100% Verdana, Arial, Helvetica, sans-serif;font-size: 14px;}

    p#gallery{border: 1px #ccc solid;width: 600px;margin: 40px auto;text-align: center;}

    p#gallery img{margin: 20px;border: 2px #004694 solid;}

    p#gallery p{color: #004694;}

    p#gallery p.pn{padding: 10px;margin: 0 5px;border-top: 1px #ccc solid;}

    a{color:#333;}

    a:hover{color:#cc0000;}

    a.sp{padding-right: 40px;}

    </style>

</head>

<body>

    <p id="gallery">

        <img src="<?=WEBIMGDIR;?><?=$curr;?>" alt="" />

        <p><?=$caption;?></p>

        <p class="pn">

            <a href="?img=<?=$first;?>">First</a> | <a href="?img=<?=$prev;?>" class="sp">Previous</a><a href="?img=<?=$next;?>">Next</a> | <a href="?img=<?=$last;?>">Last</a>

        </p>

    </p>

</body>

</html>

로그인 후 복사

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되길 바랍니다.

관련 권장 사항:

PHP 배열 및 개체를 작동하는 방법

PHP WeChat 인터페이스는 QR 코드 생성 클래스를 구현합니다.

php 차이 연산 함수 array_diff 및 배열 탐색

위 내용은 PHP를 사용하여 페이지에서 이미지를 자동으로 스크롤하고 표시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿