Heim  >  Artikel  >  Backend-Entwicklung  >  So scrollen Sie automatisch und zeigen Bilder auf der Seite mit PHP an

So scrollen Sie automatisch und zeigen Bilder auf der Seite mit PHP an

墨辰丷
墨辰丷Original
2018-06-12 16:28:263879Durchsuche

Dieser Artikel stellt hauptsächlich die Methode der automatischen Bildlaufanzeige in PHP vor und beinhaltet die Fähigkeiten zur Bedienung von Bildspezialeffekten in PHP. Er hat einen gewissen Referenzwert.

Die Beispiele In diesem Artikel wird beschrieben, wie PHP eine Methode zum automatischen Scrollen und Anzeigen von Bildern implementiert. Die Details sind wie folgt:

Geben Sie ein Bildverzeichnis an, und das Programm scrollt automatisch jedes Bild auf der Seite und zeigt es an. Gebrauchsanweisung:

1.
2. Löschen Sie die Diashow im Bildordner.
3. Codieren Sie den folgenden Code, fügen Sie ihn in eine Textdatei ein und nennen Sie ihn „index.php“.
4. Ersetzen Sie die Zeilen 6 und 8 durch den entsprechenden Satz hoch.
6. Ausführen (unter Verwendung der in Schritt 4 festgelegten URL)

Der Code lautet wie folgt:

<?
/*
    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);
    }
}
?>
rrree

Zusammenfassung: Das Obige ist der gesamte Inhalt davon Artikel, ich hoffe, er kann für das Studium aller hilfreich sein.

Verwandte Empfehlungen:

So bedienen Sie PHP-Arrays und -Objekte

PHP WeChat-Schnittstelle implementiert QR-Code-Generierungsklasse

PHP-Differenzoperationsfunktion array_diff und Array-Traversal

Das obige ist der detaillierte Inhalt vonSo scrollen Sie automatisch und zeigen Bilder auf der Seite mit PHP an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn