TiZon
Legacy Member
Hey,
Ik heb hier een fotoalum gemaakt op internet.
Nu, heb ik dit eerder gebruikt op http://www.bartdevos.be/fr .
Hier werkt het dus perfect...
Echter hier: http://85.12.17.39/~tizon/bal/foto.php
Wil het maar neit werken, het is identiek hezelfde script, enig idee wat er mis is ?
Alles is gechmod 777...
Grtz?
Tizon
PS: foto.php
Dit is lijn 215:
Ik heb hier een fotoalum gemaakt op internet.
Nu, heb ik dit eerder gebruikt op http://www.bartdevos.be/fr .
Hier werkt het dus perfect...
Echter hier: http://85.12.17.39/~tizon/bal/foto.php
Wil het maar neit werken, het is identiek hezelfde script, enig idee wat er mis is ?
Alles is gechmod 777...
Grtz?
Tizon
PS: foto.php
PHP:
<?php
// De albumconfiguratie
$width = 500; // Hier geven we aan hoe breed de gallery moet worden
$thumbnails_per_row = 4; // Het aantal thumbnails per rij
$thumbnail_indexing = TRUE; // De thumbnails worden automatisch geïndexeerd
$thumbnails_per_page = 16; // Het aantal thumbnails per pagina
$thumbnail_filetype = "png";// Je kunt hier aangeven of het png of jpg moet wezen
$slideshow_filetype = "png";// Ook hier kun je aangeven of het png of jpg moet wezen
$multipleGalleries = TRUE; // Meerder galleries of 'FALSE' is één gallerie
/*
Nu gaan we de gallerijen aanmaken. Tussen de eerste "" staat de naam van de gallerij, deze wordt
ook weergegeven in de navigatiebalk. Tussen de tweede "" na => vul je de naam van de map in waar de
images op je server staan.
*/
$galleries = array("Fotos Van Bart" => "Bart",
"Fotos Van Niko" => "Niko");
$link_original_image = FALSE; // De link naar het originele imagebestand activeren. FALSE is de-activeren
// !! Voordat je aan onderstaande configuratie gaat sleutelen is het aanbevolen EERST alle images uit de gallerij te verwijderen!!
// De slideshow configuratie
$image_margin = 10;
$image_border = TRUE;
$image_dropShadow = TRUE;
$image_offset_x = 1;
$image_offset_y = 1;
$image_dropShadow_scale = 0.99;
$image_dropShadow_offset = 6;
$image_dropShadow_blurRadius= 6; // Deze niet groter maken dan 46 en niet groter dan $dropShadow_offset anders ziet het er niet uit!
// De thumbnail configuratie
$thumbnail_border = TRUE;
$thumbnail_dropShadow = TRUE;
$thumbnail_offset_x = 0;
$thumbnail_offset_y = 1;
$thumbnail_dropShadow_scale = 0.99;
$thumbnail_dropShadow_offset= 6;
$thumbnail_dropShadow_blurRadius = 6;
$background_color = array(255, 255, 255);
$border_color = array(0, 0, 0);
$dropShadow_color = array(100, 100, 100); // Deze moet donkerder zijn dan de $background_color!!
// Heb ik afgezet omdat hij FF niet begrijpt ;-). Het staat direct in de css
// $html_background_color = "#".sprintf("%02s", dechex($background_color[0])) .sprintf("%02s", dechex($background_color[1])).sprintf("%02s", dechex($background_color[2]));
?>
<style type="text/css">
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
text-align: center;
color: #00000;
background-color: #3399FF;
padding-top: 0%;
}
#page {
width: <?php echo "$width"; ?>px;
margin: 10px auto;
padding: 10px;
text-align: left;
border: solid #C0C0C0 0px;
}
#navigation {
border-bottom: solid #C0C0C0 0px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
padding: 5px;
}
#statusbar {
border-bottom: solid #C0C0C0 0px;
padding: 5px;
}
#img_area {
margin-top: 5px;
text-align: center;
}
#footer {
border-top: solid #C0C0C0 0px;
padding: 10px;
text-align: center;
}
#footer p {
font-size: 10px;
color: #000000;
border: 0px;
font-weight: bold;
}
img {
border: 0px;
}
p {
font-size: 12px;
color: #000000;
font-weight: normal;
}
a {
font-weight: normal;
color: #BF0000;
text-decoration: none;
}
.button {
background-color: #FFFFFF;
border: #BF0000 1px solid;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #BF0000;
}
</style>
</head>
<body background="images/bg.gif">
<div id="page">
<?php
// De initialisatie
$SCRIPT_NAME = getenv("SCRIPT_NAME");
if (isset($_GET["gallery"])) { $gallery = $_GET["gallery"]; }
else { $gallery = $galleries[key($galleries)]; }
if (isset($_GET["view"])) { $view = $_GET["view"]; }
else { $view = "thumbnails"; }
if (isset($_GET["thumbnail_index"])) { $thumbnail_index = $_GET["thumbnail_index"]; }
else { $thumbnail_index = 0; }
if (isset($_GET["slideshow_index"])) { $slideshow_index = $_GET["slideshow_index"]; }
else { $slideshow_index = 0; }
if (!is_dir($gallery)) { die("<br/><br/>ERROR: invalid directory: $gallery"); }
if (!is_dir($gallery."/.thumbs")) if (!mkdir($gallery."/.thumbs")) { die("<br/><br/>ERROR: can't create thumbnail directory in $gallery"); }
if (!is_dir($gallery."/.modified")) if (!mkdir($gallery."/.modified")) { die("<br/><br/>ERROR: can't create directory for modified images in $gallery"); }
$thumbnail_size = intval($width/$thumbnails_per_row);
// De functies
function scale_image($img, $factor) {
$temp = imagecreatetruecolor(imagesx($img)*$factor, imagesy($img)*$factor);
imagecopyresized($temp, $img, 0, 0, 0, 0, imagesx($img)*$factor, imagesy($img)*$factor, imagesx($img), imagesy($img));
return $temp;
imagedestroy($temp);
}
function draw_image_border($img) {
imagerectangle($img, 0, 0, imagesx($img)-1, imagesy($img)-1, imagecolorresolve($img, $GLOBALS["border_color"][0], $GLOBALS["border_color"][1], $GLOBALS["border_color"][2]));
return $img;
}
function draw_dropShadow($img, $dropShadow_scale, $dropShadow_offset, $dropShadow_blurRadius, $background_color, $dropShadow_color, $image_offset_x, $image_offset_y) {
$dropShadow_width = intval(imagesx($img)*$dropShadow_scale);
$dropShadow_height = intval(imagesy($img)*$dropShadow_scale);
$img_dropShadow = imagecreatetruecolor($dropShadow_width+$dropShadow_offset+$dropShadow_blurRadius, $dropShadow_height+$dropShadow_offset+$dropShadow_blurRadius);
// gradient voor de schaduw genereren
$gradient_steps = array();
$temp_color = array();
$dropShadowGradientColors = array();
for ($i=0; $i<=2; $i++) {
$gradient_steps[$i] = ($background_color[$i]-$dropShadow_color[$i])/$dropShadow_blurRadius;
}
$temp_color[0] = $dropShadow_color[0]+$gradient_steps[0]/2;
$temp_color[1] = $dropShadow_color[1]+$gradient_steps[1]/2;
$temp_color[2] = $dropShadow_color[2]+$gradient_steps[2]/2;
$dropShadowGradientColors[0] = imagecolorresolve($img_dropShadow, $temp_color[0], $temp_color[1], $temp_color[2]);
for ($i=1; $i<$dropShadow_blurRadius; $i++) {
$temp_color[0] = $temp_color[0]+$gradient_steps[0];
$temp_color[1] = $temp_color[1]+$gradient_steps[1];
$temp_color[2] = $temp_color[2]+$gradient_steps[2];
$dropShadowGradientColors[$i] = imagecolorresolve($img_dropShadow, $temp_color[0], $temp_color[1], $temp_color[2]);
}
// Schaduw tekenen
imagefill($img_dropShadow, 0, 0, imagecolorresolve($img_dropShadow, $background_color[0], $background_color[1], $background_color[2]));
imagefilledrectangle($img_dropShadow, $dropShadow_offset+1, $dropShadow_offset+1, $dropShadow_offset+$dropShadow_width-1, $dropShadow_offset+$dropShadow_height-1, imagecolorresolve($img, $dropShadow_color[0], $dropShadow_color[1], $dropShadow_color[2]));
for ($i=0; $i<$dropShadow_blurRadius; $i++) {
// borders: top / left / right / bottom
imageline($img_dropShadow, $dropShadow_offset, $dropShadow_offset-$i, $dropShadow_offset+$dropShadow_width, $dropShadow_offset-$i, $dropShadowGradientColors[$i]);
imageline($img_dropShadow, $dropShadow_offset-$i, $dropShadow_offset, $dropShadow_offset-$i, $dropShadow_offset+$dropShadow_height, $dropShadowGradientColors[$i]);
imageline($img_dropShadow, $dropShadow_offset+$dropShadow_width+$i, $dropShadow_offset, $dropShadow_offset+$dropShadow_width+$i, $dropShadow_offset+$dropShadow_height, $dropShadowGradientColors[$i]);
imageline($img_dropShadow, $dropShadow_offset, $dropShadow_offset+$dropShadow_height+$i, $dropShadow_offset+$dropShadow_width, $dropShadow_offset+$dropShadow_height+$i, $dropShadowGradientColors[$i]);
// hoeken: left top / right top / left bottom / right bottom
imagearc($img_dropShadow, $dropShadow_offset+$dropShadow_blurRadius-$i, $dropShadow_offset+$dropShadow_blurRadius-$i, 2*$dropShadow_blurRadius, 2*$dropShadow_blurRadius, 180, 270, $dropShadowGradientColors[$i]);
imagearc($img_dropShadow, $dropShadow_offset-$dropShadow_blurRadius+$i+$dropShadow_width, $dropShadow_offset+$dropShadow_blurRadius-$i, 2*$dropShadow_blurRadius, 2*$dropShadow_blurRadius, 270, 0, $dropShadowGradientColors[$i]);
imagearc($img_dropShadow, $dropShadow_offset+$dropShadow_blurRadius-$i, $dropShadow_offset-$dropShadow_blurRadius+$i+$dropShadow_height, 2*$dropShadow_blurRadius, 2*$dropShadow_blurRadius, 90,180, $dropShadowGradientColors[$i]);
imagearc($img_dropShadow, $dropShadow_offset-$dropShadow_blurRadius+$i+$dropShadow_width, $dropShadow_offset-$dropShadow_blurRadius+$i+$dropShadow_height, 2*$dropShadow_blurRadius, 2*$dropShadow_blurRadius, 0, 90, $dropShadowGradientColors[$i]);
// alle hoeken nogmaals met 1px vergroot, leuk effect
imagearc($img_dropShadow, $dropShadow_offset+$dropShadow_blurRadius-$i, $dropShadow_offset+$dropShadow_blurRadius-$i, 2*$dropShadow_blurRadius+1, 2*$dropShadow_blurRadius+1, 180, 270, $dropShadowGradientColors[$i]);
imagearc($img_dropShadow, $dropShadow_offset-$dropShadow_blurRadius+$i+$dropShadow_width, $dropShadow_offset+$dropShadow_blurRadius-$i, 2*$dropShadow_blurRadius+1, 2*$dropShadow_blurRadius+1, 270, 0, $dropShadowGradientColors[$i]);
imagearc($img_dropShadow, $dropShadow_offset+$dropShadow_blurRadius-$i, $dropShadow_offset-$dropShadow_blurRadius+$i+$dropShadow_height, 2*$dropShadow_blurRadius+1, 2*$dropShadow_blurRadius+1, 90,180, $dropShadowGradientColors[$i]);
imagearc($img_dropShadow, $dropShadow_offset-$dropShadow_blurRadius+$i+$dropShadow_width, $dropShadow_offset-$dropShadow_blurRadius+$i+$dropShadow_height, 2*$dropShadow_blurRadius+1, 2*$dropShadow_blurRadius+1, 0, 90, $dropShadowGradientColors[$i]);
}
imagecopy($img_dropShadow, $img, $image_offset_x, $image_offset_y, 0, 0, imagesx($img), imagesy($img));
return $img_dropShadow;
imagedestroy($img_dropShadow);
}
function create_thumbnail($image) {
$thumbnail_size=$GLOBALS["thumbnail_size"];
$image_properties=getimagesize($image);
switch ($image_properties[2]) {
case 1: $thumb = imagecreatefromgif($image);break;
case 2: $thumb = imagecreatefromjpeg($image);break;
case 3: $thumb = imagecreatefrompng($image);break;
default: die("<br/><br/>onbekend bestandstype: $image");
}
$temp = imagecreatetruecolor($thumbnail_size, $thumbnail_size);
imagefill($temp, 0, 0, imagecolorresolve($temp, $GLOBALS["background_color"][0], $GLOBALS["background_color"][1], $GLOBALS["background_color"][2]));
if ($image_properties[0]>$image_properties[1]) {
$thumb = scale_image($thumb, (1/($image_properties[0]/$thumbnail_size)*0.93));
if ($GLOBALS["thumbnail_border"]) { $thumb = draw_image_border($thumb); }
if ($GLOBALS["thumbnail_dropShadow"]) { $thumb = draw_dropShadow($thumb, $GLOBALS["thumbnail_dropShadow_scale"], $GLOBALS["thumbnail_dropShadow_offset"], $GLOBALS["thumbnail_dropShadow_blurRadius"], $GLOBALS["background_color"], $GLOBALS["dropShadow_color"], $GLOBALS["thumbnail_offset_x"], $GLOBALS["thumbnail_offset_y"]); }
imagecopy($temp, $thumb, 1, $thumbnail_size/2-imagesy($thumb)/2, 0, 0, imagesx($thumb), imagesy($thumb));
}
else {
$thumb = scale_image($thumb, (1/($image_properties[1]/$thumbnail_size)*0.93));
if ($GLOBALS["thumbnail_border"]) { $thumb = draw_image_border($thumb); }
if ($GLOBALS["thumbnail_dropShadow"]) { $thumb = draw_dropShadow($thumb, $GLOBALS["thumbnail_dropShadow_scale"], $GLOBALS["thumbnail_dropShadow_offset"], $GLOBALS["thumbnail_dropShadow_blurRadius"], $GLOBALS["background_color"], $GLOBALS["dropShadow_color"], $GLOBALS["thumbnail_offset_x"], $GLOBALS["thumbnail_offset_y"]); }
imagecopy($temp, $thumb, $thumbnail_size/2-imagesx($thumb)/2, 1, 0, 0, imagesx($thumb), imagesy($thumb));
}
switch ($GLOBALS["thumbnail_filetype"]) {
case "png": {
imagepng($temp, "./.thumbs/$thumbnail_size"."_thumb_".$image.".".$GLOBALS["thumbnail_filetype"]);
}
break;
case "jpg": {
imagejpeg($temp, "./.thumbs/$thumbnail_size"."_thumb_".$image.".".$GLOBALS["thumbnail_filetype"]);
}
break;
default: {
die("<br/><br/>ERROR: Dit bestandstype wordt niet ondersteund voor thumbnails: ".$GLOBALS["thumbnail_filetype"]);
}
}
imagedestroy($thumb);
imagedestroy($temp);
return TRUE;
}
function create_slideshow_item($image) {
$image_properties=getimagesize($image);
switch ($image_properties[2]) {
case 1: $img = imagecreatefromgif($image);break;
case 2: $img = imagecreatefromjpeg($image);break;
case 3: $img = imagecreatefrompng($image);break;
default: die("<br/><br/>onbekend bestandstype: $image");
}
if ($image_properties[0]>=($GLOBALS["width"]-2*$GLOBALS["image_margin"])) {
$img = scale_image($img, ($GLOBALS["width"]-2*$GLOBALS["image_margin"])/$image_properties[0]);
if ($GLOBALS["image_border"]) { $img = draw_image_border($img); }
if ($GLOBALS["image_dropShadow"]) { $img = draw_dropShadow($img, $GLOBALS["image_dropShadow_scale"], $GLOBALS["image_dropShadow_offset"], $GLOBALS["image_dropShadow_blurRadius"], $GLOBALS["background_color"], $GLOBALS["dropShadow_color"], $GLOBALS["image_offset_x"], $GLOBALS["image_offset_y"]); }
}
else {
if ($GLOBALS["image_border"]) { $img = draw_image_border($img); }
if ($GLOBALS["image_dropShadow"]) { $img = draw_dropShadow($img, $GLOBALS["image_dropShadow_scale"], $GLOBALS["image_dropShadow_offset"], $GLOBALS["image_dropShadow_blurRadius"], $GLOBALS["background_color"], $GLOBALS["dropShadow_color"], $GLOBALS["image_offset_x"], $GLOBALS["image_offset_y"]); }
}
switch ($GLOBALS["slideshow_filetype"]) {
case "png": {
imagepng($img, "./.modified/".$GLOBALS["width"]."_mod_".$image.".".$GLOBALS["slideshow_filetype"]);
}
break;
case "jpg": {
imagejpeg($img, "./.modified/".$GLOBALS["width"]."_mod_".$image.".".$GLOBALS["slideshow_filetype"]);
}
break;
default: {
die("<br/><br/>ERROR: Dit bestandstype wordt niet ondersteund voor thumbnails: ".$GLOBALS["slideshow_filetype"]);
}
}
imagedestroy($img);
return TRUE;
}
// ===== De gallerie =================================================================================================
$gallery_name = key($galleries);
// ===== De navigatie ================================================================================================
echo "<div id=\"navigation\">";
if ($multipleGalleries) {
foreach ($galleries as $entry) {
// echo "<a href=\"$SCRIPT_NAME?gallery=$entry&pagina=foto\" title=\"map ".key($galleries)."\">".key($galleries)."</a> | ";
if ($gallery==$entry) { $gallery_name = key($galleries); }
next($galleries);
}
}
if ($view=="thumbnails") { echo " "; }
else { echo " <a href=\"$SCRIPT_NAME?view=thumbnails&gallery=$gallery&pagina=foto\" title=\"overzicht van de foto's\">Overzicht</a>"; }
echo "</div>";
// ===== De images array aanmaken ====================================================================================
chdir($gallery);
$directory = dir("./");
$images_array = array();
while ($file = $directory->read()) {
if (is_file($file) and in_array(strtolower(substr($file, -4)), array(".png", ".jpg", ".gif"))) {
$images_array[] = $file;
}
}
$directory->close();
reset($images_array);
$images_count = count($images_array);
sort($images_array);
// ===== Alles aanmaken voor de gallerie =============================================================================
if ($_GET["action"]=="generate_all") {
$count1=0;
$count2=0;
echo "<p>";
foreach ($images_array as $image) {
if (!is_file("./.thumbs/$thumbnail_size"."_thumb_".$image.".".$thumbnail_filetype)) {
create_thumbnail($image);
echo "thumbnail aangemaakt voor: <i>$image</i><br/>";
$count1++;
}
if (!is_file("./.modified/$width"."_mod_".$image.".".$slideshow_filetype)) {
create_slideshow_item($image);
echo "slideshow afbeelding aangemaakt voor: <i>$image</i><br/>";
$count2++;
}
}
echo "<br/><br/><b>$count1</b> thumbnails en <b>$count2</b> slideshow afbeeldingen voor de gallerij: <i>$gallery_name</i></p>";
}
// ===== De gallerij aanmaken ========================================================================================
switch ($view) {
case "thumbnails": {
echo "<div id=\"statusbar\">";
echo "<p>$images_count Afbeeldingen in de map: <b>$gallery_name</b></p>";
if ($thumbnail_indexing) {
$images_array = array_chunk($images_array, $thumbnails_per_page);
$images_array = $images_array[$thumbnail_index];
if ($images_count>$thumbnails_per_page) {
echo "<p>";
if ($thumbnail_index>0) { echo "<a href=\"$SCRIPT_NAME?pagina=foto&view=thumbnails&gallery=$gallery&thumbnail_index=".($thumbnail_index-1)."\" title=\"Vorige\"><< Vorige </a>"; }
echo ($thumbnail_index+1)."/".ceil($images_count/$thumbnails_per_page)." ";
if ($thumbnail_index<(ceil($images_count/$thumbnails_per_page)-1)) { echo "<a href=\"$SCRIPT_NAME?pagina=foto&thumbnails&gallery=$gallery&thumbnail_index=".($thumbnail_index+1)."\" title=\"Volgende\">Volgende >></a>"; }
echo "</p>";
}
}
echo "</div>";
echo "<div id=\"img_area\">";
$i = 1;
$row = 0;
foreach ($images_array as $image) {
if (!is_file("./.thumbs/$thumbnail_size"."_thumb_".$image.".".$thumbnail_filetype)) { create_thumbnail($image); }
echo "<a href=\"$SCRIPT_NAME?pagina=foto&view=slideshow&gallery=$gallery&slideshow_index=".($i-1+$row*$thumbnails_per_row+$thumbnail_index*$thumbnails_per_page)."\"><img src=\"$gallery/.thumbs/$thumbnail_size"."_thumb_".$image.".".$thumbnail_filetype."\" title=\"$image\" alt=\"thumbnail\" /></a>";
if ($i==$thumbnails_per_row) {
$i = 1;
echo "<br/>";
$row++;
}
else { $i++; }
next($images_array);
}
}
break;
case "slideshow": {
echo "<div id=\"statusbar\"><p>";
if ($slideshow_index>0) { echo "<a href=\"$SCRIPT_NAME?pagina=foto&view=slideshow&gallery=$gallery&slideshow_index=".($slideshow_index-1)."\" title=\"Vorige\"><< vorige </a>"; }
echo ($slideshow_index+1)."/$images_count ";
if ($slideshow_index<($images_count-1)) { echo "<a href=\"$SCRIPT_NAME?pagina=foto&view=slideshow&gallery=$gallery&slideshow_index=".($slideshow_index+1)."\" title=\"Volgende\">volgende >></a>"; }
echo "</p></div>";
echo "<div id=\"img_area\">";
if (!is_file("./.modified/$width"."_mod_".$images_array[$slideshow_index].".".$slideshow_filetype)) { create_slideshow_item($images_array[$slideshow_index]); }
if ($link_original_image) {
echo "<a href=\"$gallery/".$images_array[$slideshow_index]."\"><img src=\"$gallery/.modified/$width"."_mod_".$images_array[$slideshow_index].".".$slideshow_filetype."\" title=\"".$images_array[$slideshow_index]."\" alt=\"".$images_array[$slideshow_index]."\" /></a>";
}
else {
echo "<img src=\"$gallery/.modified/$width"."_mod_".$images_array[$slideshow_index].".".$slideshow_filetype."\" title=\"".$images_array[$slideshow_index]."\" alt=\"".$images_array[$slideshow_index]."\" />";
}
}
break;
}
echo "</div>";
?>
<div id="footer">
<p></p>
</div>
</div>
</body>
</html>
Dit is lijn 215:
PHP:
case 2: $thumb = imagecreatefromjpeg($image);break;