have you ever wanted to add a really simple fullscreen slideshow to your homepage?
no javascript, no jquery - just plain php and css magic
just copy the content of the block to an index.php file, modify the pathes in lines 6 and 8 as well as the bodytext and upload this file to a directory that will be the gallery.
my examples are available here: http://www.wiwi.uni-frankfurt.de/~andreas/blog/images/
or here http://netzherpes.de/deauville/?img=28
copy paste, done!
this is a heavily modified script from http://www.phpsnaps.com/snaps/view/php- ... show-auto/
have fun webdoktor!
no javascript, no jquery - just plain php and css magic
just copy the content of the block to an index.php file, modify the pathes in lines 6 and 8 as well as the bodytext and upload this file to a directory that will be the gallery.
my examples are available here: http://www.wiwi.uni-frankfurt.de/~andreas/blog/images/
or here http://netzherpes.de/deauville/?img=28
<?php
/*
PHP image slideshow - auto version - PHP5
*/
// set the absolute path to the directory containing the images
define ('IMGDIR', '/var/www/netzherpes.de/www/deauville/images/');
// same but for www
define ('WEBIMGDIR', '/deauville/images/');
// set session name for slideshow "cookie"
define ('SS_SESSNAME', 'slideshow_sess');
// global error variable
$err = '';
// start img session
session_name(SS_SESSNAME);
session_start();
// init slideshow class
$ss = new slideshow($err);
if (($err = $ss->init()) != '')
{
header('HTTP/1.1 500 Internal Server Error');
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 'Error retrieving images, missing directory';
}
return '';
}
public function get_images()
{
// run actions only if img array session var is empty
if (isset($_SESSION['imgarr']))
{
$this->files_arr = $_SESSION['imgarr'];
}
else
{
if ($dh = opendir(IMGDIR))
{
while (false !== ($file = readdir($dh)))
{
if (preg_match('/^.*\.(JPG|jpg|jpeg|gif|png)$/i', $file))
{
$this->files_arr[] = $file;
}
}
closedir($dh);
}
$_SESSION['imgarr'] = $this->files_arr;
}
}
public function 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;
$next = $first;
}
else
{
$prev = $curr - 1;
$next = $curr + 1;
}
// line below sets the caption name...
$caption = str_replace('-', ' ', $this->files_arr[$curr - 1]);
$caption = str_replace('_', ' ', $caption);
$caption = preg_replace('/\.(JPG|jpe?g|gif|png)$/i', '', $caption);
$caption = ucfirst($caption);
return array($this->files_arr[$curr - 1], $caption, 1, $prev, $next, $last);
}
private function dir_exists()
{
return file_exists(IMGDIR);
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>BLABLALA Title </title>
<meta name="description" lang="de" content="This is a collection of pictures"/>
<meta name="author" content="web doktor netzherpes.de">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="refresh" content="17; URL=?img=<?=$next;?>">
<style>
html { height: 100%;
}
body
{
background: url(<?=WEBIMGDIR;?><?=$curr;?>) no-repeat;
text-align: center;
color: #777777;
display: block;
-webkit-background-size: contain;
-moz-background-size: contain;
background-size: contain;
background-color: #000000;
background-position: center;
text-align: center;
margin: 0px;
margin-left: auto;
margin-right: auto;
min-height: 100%;
}
#footer {
position: absolute;
bottom: 0;
}
a:hover {
text-decoration: none;
color: #666644;
}
a {
text-decoration: none;
color: #666644;
}
</style>
</head>
<body>
<a href="http://netzherpes.de/blog">(c) netzherpes.de </a> - press F11 for fullscreen. save a pic by saving the backgroundimage.<br><a href="?img=<?=$prev;?>">prev</a> - <a href="?img=<?=$next;?>">next</a>
<div id="footer">(c) netzherpes.de</div>
</body>
</html>
copy paste, done!
this is a heavily modified script from http://www.phpsnaps.com/snaps/view/php- ... show-auto/
have fun webdoktor!


hat der weltbeste Nachbar Peter sich an die Zeit erinnert, als er für nintendo Deutschland die Werbung gestaltet hat... Und promtpt hat er auch nach kurzem Suchen im Keller einen unversehrten Ordner Werbematerial gefunden.