Hallo Leute, seit ca. 2 Monaten beschäftige ich mich mit PHP
Jetzt habe ich mich daran gemacht ein Galeerie-Script um zu ändern
es klapt soweit auch bis auf eine Kleinigkeit und da komme ich mit
meinen wissen überhaupt nicht mehr weiter!
Das Script sucht die Bilder immer nur im selben Ordner in dem auch das
Script auch ist!
Scheinbar bin ich noch nicht so fortgeschritten das ich den Fehler selber finden kann !
Kann mir deshalb einer von euch das Script so umändern das ich über eine Variable angeben kann wo die Bilder Relativ zu Script liegen ( sind) von denen Thumbnails generiert werden solle!
und etwas erklären damit ich auch dahinter komme was ich Falsch gemacht habe und die änderungen verstehe!
Hier der jetztige Stand des Scriptes (Teil 1):
Viele dank im voraus
WildCop
Jetzt habe ich mich daran gemacht ein Galeerie-Script um zu ändern
es klapt soweit auch bis auf eine Kleinigkeit und da komme ich mit
meinen wissen überhaupt nicht mehr weiter!
Das Script sucht die Bilder immer nur im selben Ordner in dem auch das
Script auch ist!
Scheinbar bin ich noch nicht so fortgeschritten das ich den Fehler selber finden kann !
Kann mir deshalb einer von euch das Script so umändern das ich über eine Variable angeben kann wo die Bilder Relativ zu Script liegen ( sind) von denen Thumbnails generiert werden solle!
und etwas erklären damit ich auch dahinter komme was ich Falsch gemacht habe und die änderungen verstehe!
Hier der jetztige Stand des Scriptes (Teil 1):
PHP-Code:
<?php
# Konfiguration
# Der Titel der Galerie. Hier kann jeder beliebige String eingegeben werden.
$config['page_title'] = "Chiodo";
# Schlüssel Wörter für den META-TAG keywords.
$config['page_keywords'] = "Comic Bilder, Chastity, Bilder Galerie, Chaos Comics, Comic, Bilder";
# Die Breite der neuen Thumbnails in Pixel.
# Standard: 100
$config['newthumb_w'] = 100;
# Die Höhe der neuen Thumbnails in Pixel.
# Standard: 100
$config['newthumb_h'] = 100;
# Anzahl der Thumbnails pro Seite, die ausgegeben werden sollen.
# Standard: 20
$config['maxperpage'] = 40;
# Der Unterordner (relativ zu dieser Datei, ohne beginnenden /), in dem die neu
# erstellten Thumbnails gespeichert werden.
# Standard: "thumbs/"
$config['thumbnail_path'] = "galerien/chiodo/thumbs/";
# Der Dateinamen-Prefix für die erstellten Thumbnails.
# Standard: "TN_"
$config['thumbnail_prefix'] = "TN_";
# Diese Variablen bitte NICHT ändern, wenn Du nicht weisst was diese bedeutet !
$config['picture_path'] = "./galerien/chiodo/";
$path = "galerien/chiodo/";
$big_pic_path = "./galerien/chiodo/";
# ----------------------------------------------------------------------------
# PHP-Code - Ab hier nichts ändern!
# ----------------------------------------------------------------------------
function open_dir($MyDir)
{
# Liest das angegebene Verzeichniss aus und speichert die Dateinamen
# in ein Array natürlicher Ordnung
if ($dir = opendir ("$MyDir"))
{
while (($file = readdir ($dir)) != FALSE)
{
if (($file != ".") and ($file != ".:"))
{
$ext = strtolower (substr ($file, -4));
if (($ext==".jpg") || ($ext==".png"))
{
$filenames[]=$file;
}
elseif ($ext==".gif")
{
# Kontrolliert, ob die installierte GD-Lib GIF unterstützt $gd = gd_info();
if ($gd['GIF Create Support']===TRUE)
$filenames[]=$file;
};
};
};
};
#natsort ($filenames);
usort($filenames,"strnatcmp");
return $filenames;
};
# -----------------------------------------------------------------------------
function CreateThumb($MyPicture, $MyProzent=0, $MyFile='')
{
# Erstellt das Thumbnail und speichert es als *.jpg ab. Dies spart beim
# erneuten Seitenaufruf CPU-Last, da nicht wieder alle Bilder neu per
# GD-Lib gezeichnet werden.
global $config;
$imageSize = GetImageSize ("$MyPicture");
if ($MyProzent!=0)
{
# Größen skalierung, wenn Bildmanipulation erlaubt ist
$newW = ($imageSize[0]/100)*$MyProzent;
$newH = ($imageSize[1]/100)*$MyProzent;
}
else
{
# Auslesen ob das Bild ein im Hoch- oder Querformat vorliegt und entsprechend
# des Seiten verhältnises die Höhe oder Breite des Thumbnails neu berechnen.
$src_height = $imageSize[1];
$src_width = $imageSize[0];
if($imageSize[1] > $imageSize[0])
{
$newH = $config['newthumb_h'];
$buffer2 = $imageSize[1] / 100;
$buffer2 = $config['newthumb_h'] / $buffer2;
$buffer3 = $buffer2 / 100;
$newW = $imageSize[0] * $buffer3;
}
elseif($imageSize[0] > $imageSize[1])
{
$newW = $config['newthumb_w'];
$buffer2 = $imageSize[0] / 100;
$buffer2 = $config['newthumb_w'] / $buffer2;
$buffer3 = $buffer2 / 100;
$newH = $imageSize[1] * $buffer3;
}
elseif(($imageSize[0]/10) == ($imageSize[1]/6))
{
$newW = $config['newthumb_w'];
$newH = $config['newthumb_h'];
}
elseif($imageSize[0] == $imageSize[1])
{
$newW = $config['newthumb_h'];
$newH = $config['newthumb_h'];
};
};
# Abfrage des Dateityps. Seit Version 2.3.0 des Scriptes
# wird neben Jpeg und PNG nun auch GIF unterstützt sofern
# die GD-Lib Write-Support hat.
switch ($imageSize[2])
{
case '1':
# Imagetype GIF
$im_orginal = ImageCreateFromGIF ($MyPicture);
break;
case '2':
# Imagetype JPG
$im_orginal = ImageCreateFromJPEG ($MyPicture);
break;
case '3':
# Imagetype PNG
$im_orginal = ImageCreateFromPNG ($MyPicture);
break;
default:
die ("Fehler in function CreateThumb: Kann Bild nicht öffnen, Format muss JPEG/GIF/PNG sein.");
break;
}
$im_thumb = ImageCreateTrueColor ($newW, $newH);
ImageCopyResampled ($im_thumb, $im_orginal, 0,0, 0,0, $newW, $newH, $imageSize[0], $imageSize[1]);
if ($MyFile == '') header ("Content-type: image/jpeg");
ImageJPEG ($im_thumb,$MyFile,100);
ImageDestroy ($im_thumb);
ImageDestroy ($im_orginal);
};
# ----------------------------------------------------------------------------
# Ausgabe der Seite
# ----------------------------------------------------------------------------
# Bild als Einzelansicht
switch ($_GET[show])
{
case 'thumb':
CreateThumb($_GET[file]);
exit();
break;
case 'singlepicture':
CreateThumb($_GET[file]);
exit();
break;
}
include("navi_conf.php");
?>
WildCop
Kommentar