Enige tijd bezig geweest om de foto's te tonen.
Hetgeen niet lukt.
Iets zie ik over het hoofd, maar zie niet wat of waar.

Iemand wel?

<?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>

Kijk eerst maar even in de HTML-code van je browser wat er wel geprobeerd wordt om in te laden. Dat kan al een aan aanwijzing zijn wat er fout gaat. Hoort die punt-komma er wel?
@Ariën,
Dank voor het aanpassen van mijn bericht, maar weet echt niet hoe ik dit moet doen.

Alles werkt alleen regel 141 geeft problemen
Je kan in je browser de HTML-code bekijken met CTRL+U, of de 'Element Inspecteren' functie van je browser te gebruiken op/rond de afbeelding die je niet ziet.

Wat voor problemen merk je dan rond lijn 141?
Als je wat specifieker bent, kunnen we ook specifieker antwoord geven.
ik ga m even online te zetten.

lokaal krijg ik de foutmelding
Parse error: syntax error, unexpected '=', expecting ',' or ';'

Probeer zo online even als hij gezet is
sassiesstyle.nl
Aanhalingsteken op de goeie plek zetten en wat php code weghalen. Dan moet het lukken.

echo '<img src="' . WEBIMGDIR . $curr . '" alt="" />'; 


En tiep op regel 13 de letters van de sessienaam aan elkaar :

session_name(SS_ SESSNAME);
Als de document root van je lokale website C:/wamp/www/ is en het interne pad van je afbeeldingen C:/wamp/www[color=#ff0000]/slider3[/color]/images/slideshow/ dan zul je de afbeeldingen niet onder het relatieve pad /images/slideshow/ vinden denk ik.
Bedankt voor de update.
Heb m inmiddels aan de praat en worden de foto's getoond.
Deze vraag kan afgesloten worden.
Fijn dat het werkt, succes ermee :-)
Wellicht interessant voor de kijkers thuis: oorzaak en oplossing?

Reageren