Hallo, daar ben ik weer met een vraag.
Ik heb vandaag een PHP slideshow script gedownload voor mn site. Zie hieronder. Ik heb het geupload met wat aanpassingen voor mijn site en ik krijg de volgende melding:
Warning: file_exists(): open_basedir restriction in effect. File(/home/devel/public_html/Domein/public/slideshow/) is not within the allowed path(s): (/customers/6/9/5/domein/httpd.www:/customers/6/9/5/domein/httpd.private:/customers/6/9/5/domein/tmp:/customers/domein/domein:/var/www/diagnostics:/usr/share/php) in /customers/6/9/5/domein/httpd.www/slideshow/index.php on line 107 Warning: Cannot modify header information - headers already sent by (output started at /customers/6/9/5/domein/httpd.www/slideshow/index.php:107) in /customers/6/9/5/domein/httpd.www/slideshow/index.php on line 20 Error retrieving images, missing directory
line 20 is: header('HTTP/1.1 500 Internal Server Error');
line 107 is: return file_exists(IMGDIR);
Ik hoop dat een van jullie die dit leest een oplossing weet.
PHP Code:
<?
/*
PHP image slideshow - auto version - PHP5
*/
// set the absolute path to the directory containing the images
define ('IMGDIR', '/home/devel/public_html/thomas-blom.nl/public/slideshow/');
// same but for www
define ('WEBIMGDIR', 'slideshow/');
// 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|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('/\.(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">
<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;?>">Eerste</a> | <a href="?img=<?=$prev;?>" class="sp">Vorige</a><a href="?img=<?=$next;?>">Volgende</a> | <a href="?img=<?=$last;?>">Laatste</a>
</div>
</div>
</body>
</html>
- PHP slideshow | Vraag
-
28-11-2012, 17:23 #1
- Berichten
- 11
- Lid sinds
- 12 Jaar
PHP slideshow | Vraag
Laatst aangepast door Thomas Blom : 28-11-2012 om 17:35
-
-
28-11-2012, 17:34 #2
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: PHP slideshow | Vraag
Je probeert toegang te krijgen tot een map waar je geen toegang tot hebt. Doorgaans is je bestandspad ook meer iets dat lijkt op /home/devel/domains/thomas-blom.nl/public_html/public/slideshow/
/home/devel/public_html/thomas-blom.nl/public/slideshow/
-
28-11-2012, 17:38 #3
- Berichten
- 11
- Lid sinds
- 12 Jaar
Re: PHP slideshow | Vraag
En de oplossing hiervoor wordt dus? Sorry, ik heb niet al te veel verstand van php...
-
28-11-2012, 18:56 #4
- Berichten
- 449
- Lid sinds
- 14 Jaar
Re: PHP slideshow | Vraag
/home/devel/domains/thomas-blom.nl/public_html/public/slideshow/ (de goede)
versus
/home/devel/domains/public_html/thomas-blom.nl/public/slideshow/ (de foute)
EDIT: en dan ben ik nog niet zo zeker van die laatste /public/
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic