Foto's worden niet getoond in slider

Status
Niet open voor verdere reacties.

weswillem

Gebruiker
Lid geworden
8 nov 2011
Berichten
310
Ik probeer deze te doorgronden, wat niet werkt is het tonen van de foto's
iemand enig idee?
Diverse mogelijkheden uitgeprobeerd, helaas
het struikelblok is regel 141

PHP:
<?php

// volledig pad naar foto
define ('IMGDIR', 'C:/wamp/www/slider3/images/slideshow/');
// same but for www
define ('WEBIMGDIR', '/images/slideshow');
// set sessienaam voorslideshow "cookie"
define ('SS_SESSNAME', 'slideshow_sess');

// global error variabele
$err = '';
// start img session
session_name(SS_ SESSNAME);
session_start();
// initieer slideshow class
$ss = new slideshow($err);
if (($err = $ss->init()) != '')
{
	header('HTTP/1.1 500 Internal Server Error');
	echo $err;
	exit();
}
// haal image files op  uit 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|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 = $last;
		}
		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|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">
<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; color: white}
	div#gallery{border: 1px #ccc solid;width: 600px;margin: 40px auto;text-align: center; background-color:black; color: white}
	div#gallery img{margin: 200px;border: 2px red solid; width: 200px; height: auto;}
	div#gallery p{color: #004694;}
	div#gallery div.pn{padding: 10px;margin: 0 5px;border-top: 1px white solid; color:  white;}
	a{color:white;}
	a:hover{color:#cc0000;}
	a.sp{padding-right: 40px;}
    </style> 
</head>
<body>
	
    <div id="gallery">
    <!------------------------------------------------------------->
    <!-- originele code-->
    <!--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>
    <!--------------------------------------------------------------> 
<?php    	
        echo'<img src"='WEBIMGDIR';'.$curr.';">';        
        echo '<p> '.$caption.'</p>'; //filenaam zonder extentie en tekens
        echo '<p>'.$curr.'</p>';// filenaam compleet    	
        echo '<div class="pn">';
        	echo '<a href="?img='.$first.'">Eerste</a> | <a href="?img='.$prev.'" class="sp">Terug</a>
            <a href="?img='.$next.'">Volgende</a> | <a href="?img='.$last.'">Laatste</a>';        
?>        
        </div>
    </div>
</body>
</html>
 
Twee voorbeeldjes, de rest gaat dan wel lukken
Code:
echo '<img src="' . WEBIMGDIR . $curr '" alt="" />';
echo '<p>' . $caption . '</p>';
Suc6. Have fun.
 
Sorry @PHP4U
Zal het in de gaten houden.
Inderdaad niet netjes van mijn kant.
 
Geeft niks! :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan