Witam,
Mam ostatnio pewnien problem, ostatnio w szkole dostałem projekt do zrobienia, natomiast konfiguracja raspberrypi w tryb kiosku i zrobienie strony z pokazem automatycznym slajdow z forderu, tzn na pi jest folder (u mnie /var/www/html/images) w którym są zdjęcia i po wklejeniu tam zdjęć to automatycznie zaczynie sie pokaz slajdów ktory jest zapętlony. Nowe zdjęcie jest co ok 3 sekundy.
Znalazłem kod na internecie, ale nie działa, prawdopodobnie przez to że nie umiem skonfigurować lub przez to że jest na php 5 a ja mam php 7. 2 ,ponieważ najnowszy raspbian czyli przerobiony debian 8 (nie pamietam wersji ale ten najnowszy) nie wspiera już php 5.
Screeny:
Strona:
Folder html:
Folder zdjęć:
Kod:
<? /* PHP image slideshow - auto version - PHP5 */ // set the absolute path to the directory containing the images http://www.php.net/define ('IMGDIR', '/var/www/html/images/'); // same but for www http://www.php.net/define ('WEBIMGDIR', '/'); // set session name for slideshow "cookie" http://www.php.net/define ('SS_SESSNAME', 'slideshow_sess'); // global error variable $err = ''; // start img session http://www.php.net/session_name(SS_SESSNAME); http://www.php.net/session_start(); // init slideshow class $ss = new slideshow($err); if (($err = $ss->init()) != '') { http://www.php.net/header('HTTP/1.1 500 Internal Server Error'); http://www.php.net/echo $err; http://www.php.net/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 = http://www.php.net/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 'Error retrieving images, missing directory'; } return ''; } public function get_images() { // run actions only if img array session var is empty if (http://www.php.net/isset($_SESSION['imgarr'])) { $this->files_arr = $_SESSION['imgarr']; } else { if ($dh = http://www.php.net/opendir(IMGDIR)) { while (false !== ($file = http://www.php.net/readdir($dh))) { if (http://www.php.net/preg_match('/^.*\.(jpg|jpeg|gif|png)$/i', $file)) { $this->files_arr[] = $file; } } http://www.php.net/closedir($dh); } $_SESSION['imgarr'] = $this->files_arr; } } public function run() { $curr = 1; $last = http://www.php.net/count($this->files_arr); if (http://www.php.net/isset($_GET['img'])) { if (http://www.php.net/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; $next = $last; } else { $prev = $curr - 1; $next = $curr + 1; } // line below sets the caption name... $caption = http://www.php.net/str_replace('-', ' ', $this->files_arr[$curr - 1]); $caption = http://www.php.net/str_replace('_', ' ', $caption); $caption = http://www.php.net/preg_replace('/\.(jpe?g|gif|png)$/i', '', $caption); $caption = http://www.php.net/ucfirst($caption); return http://www.php.net/array($this->files_arr[$curr - 1], $caption, 1, $prev, $next, $last); } private function dir_exists() { return http://www.php.net/file_exists(IMGDIR); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <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;} div#gallery{border: 1px #ccc solid;width: 600px;margin: 40px auto;text-align: center;} div#gallery img{margin: 20px;border: 2px #004694 solid;} div#gallery p{color: #004694;} div#gallery div.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> <div id="gallery"> <img src="<?=WEBIMGDIR;?><?=$curr;?>" alt="" /> <p><?=$caption;?></p> <div 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> </div> </div> </body> </html>
Daj na początku <?php zamiast krótkiej wersji.
Ogólnie to ci kodu w ogóle nie parsuje. Próbowałeś najprostsze echo chociaż żeby sprawdzić konfigurację?
Skoro postawiłeś jakiś serwer na Jeżynce to dobrze by było mieć minimalną wiedzę co ewentualnie dodać zmienić żeby przetestować. Średni w php czy leniwy?
a masz tam zainstalowany apache + php cochaż? No i nie index.html tylko index.php
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)