foreach(array_merge($_REQUEST,$_FILES) as $key=>$value){if(isset(${$key})){unset(${$key});}} // for security..
/*
# Welcome to webYourPhotos.php4 - Ihre einfache und schnelle Bildgalerie im Netz
#
# http://www.webyourphotos.info - http://www.superphotos.info
#
# Save this file as webYourPhotos.php4 into your folder with your pictures
#
##########################################################
#
# english:
#
# COPYRIGHT NOTICE:
#
#
# This program is being distributed as freeware. It may be used and
# modified free of charge, so long as this copyright notice, the header
# above and all the backlinks to webyourphotos in the program that give me credit remain
# intact.
# Important:
# It is not allowed to delete the backlink to webyourphotos in the freeware version !!
# By using this program you agree to indemnify me from any liability.
#
# Selling the code for this program without prior written consent is
# expressly forbidden. Obtain permission before redistributing this
# program over the Internet or in any other medium. In all cases
# copyright and header and backlink to webYourPhotos must remain intact.
#
# THIS SOFTWARE IS PROVIDED `AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# What can this script do for you:
#
# - creates the thumbnails from your pics
# - creates a thumbnail page
# - creates a single page for each of your pictures (jpg and png) by using the desription file in the folder
# - and the pages are already containing the meta tags for the search engines
# - you will love this script, cause the search engines will love these htm-pages...
#
# Requires:
# You need php4 with a compiled GD module version 2.0 or higher
# Your pics shuold not be greater than about 1600 x 1600 pixels, because many server won't be able to handle them
#
# Steps to do:
# - place your pictures into a directory with a good describing name of your pictures (the directory name will be taken as a keyword)
# - save into this folder this file with the name webYourPhotos.php4 (Important: save it as a .php4 file)
# - also the description.txt file should be in this folder (optional)
# this text file should be as following example:
# (a new line for evry picture and the picture name at the beginning)
# Tulpen_am_See.JPG Tulpen am See
# Tulpen_mit_Kirche.jpg Tulpen mit Kirche im Hintergrund
# imagename.JPG description of your picture bla bla bla..
# if there is no such file it will be created, so you can download and
# write the descriptions in it. Upload it to your server again and just run the programm again.
#
# now just run webYourPhotos.php4, which has to be in the same folder like your pictures and the file description.txt
# the htm pages will be created.
#
# afterwards if all is good, you can delete the webYourPhotos.php4 file from your server.
# have fun - be happy :)
#
#
# Tip: Give your Pictures good names, cause the picture names will be taken as keywords for the meta tags for search engines.
#
#########################################################################
# german:
# Was dieses Script kann:
#
# - erstellung der Thumbnails (funktioniert mit jpg und png Bildern)
# - erstellung der htm Seite mit den Vorschaubildchen
# - erstellung einer htm Seite für jedes Ihrer jpg und png Bilder im Ordner
# unter Einbeziehung von Bildbeschreibungen, die Sie einfach in einem Textfile
# mit den Bildern in den Ordner mithochladen auf ihren Server.
# - die erstellten Seiten beinhalten bereits Meta-tags für die Suchmaschinen
# Sie werden dieses Script lieben, weil Suchmaschinen diese Seiten lieben werden.
#
# Voraussetzungen:
# Ihr Server muß PHP4 unterstützen und eine GD-Bibliothek ab der Version 2.0 muß installiert sein
# (Die GD-Bibliothek ist in der php Standard Konfiguration meist dabei)
# Ihre Bilder sollten höchstens etwa 1500 x 1500 Pixel groß sein, da die meisten Server sonst Probleme bei der Thumbnailerstellung bekommen. (In diesem Fall besteht die optionale Möglichkeit die Thumbnails selbst zu erstellen - siehe Einstellungen weiter unten)
#
# Vorgehensweise:
# 1.Nehmen Sie einen Ordner, dem sie einen passenden Namen geben (der Ordnername wird als Suchmaschinenkeyword verwendet)
# In diesen Ordner kommen nun:
# - die Bilder
# - diese Datei unter dem Namen webYourPhotos.php4 (Wichtig: diese Datei mit der Endung .php4 speichern)
# - optional: eine Textdatei mit den Bildbeschreibungen (Name: description.txt)
# Dieses Textfile muß so aufgebaut sein, dass jeweils der Bildname am Zeilenbeginn steht, dann eine Leerstelle
# und die Beschreibung. Eine neue Zeile für jedes Bild, und innerhalb der Bildbeschreibung kein echter Zeilenumbruch)
# zB:
# Tulpen_am_See.JPG Tulpen am See
# Tulpen_mit_Kirche.jpg Tulpen mit Kirche im Hintergrund
# bildname.JPG Bildbeschreibung bla bla bla..
# imagename.JPG description of your picture bla bla bla..
# Wenn kein Beschreibungs-Text file gefunden wird so wird es erstellt. Sie können es dann downloaden,
# die Bildbeschreibungen eintragen, wieder hochladen, und das Programm nochmals starten.
#
# 2.Ordner hochladen auf den Server
#
# 3.rufen sie nun einfach mit ihrem InternetBrowser webYourPhotos.php4 auf, welches sich in dem zu bearbeitenden Ordner befinden muß.
# Die htm-Seiten und Thumbnails werden dann automatisch erstellt.
#
# optional können Sie die Parameter (ab Zeile 140) bzw den html code der zu erzeugenten Seiten (weiter unten) ihren Wünschen anpassen
# und zum Schluß wenn alles gut ist diese Datei (webYourPhotos.php4) einfach wieder vom Server löschen.
#
# Tipp:
# Geben sie ihren Bildern passende gute Namen. Denn eine Stärke dieses Scripts besteht darin, dass aus den
# Bildnamen (sowie dem Ordnernamen) und den Beschreibungen automatisch die, mit meta tags versehenen, suchmaschinenoptimierten htm Seiten erstellt werden.
#
#
# Copyright Hinweis:
#
# Dieses Programm ist Freeware, solange dieser Copyright Hinweis, sowie die Links "by webYourPhotos" in
# den erstellten Seiten belassen werden.
# Diese Links dürfen nur nach Bezahlung der 12 Euro Lizensgebühren, oder anderen persönlichen Vereinbarungen entfernt werden.
# Weitere Infos finden Sie auf http://www.superphotos.info/webYourPhotos.htm
#
# Die Benutzung des Programmes erfolgt auf eigene Verantwortung. Für eventuelle Schäden
# wird keine Haftung übernommen.
#
# Die Copyrightrechte liegen bei Andreas Rebmann, Am Osthaag 24, D-74638 Waldenburg, webmaster1@superphotos.info
#
#
# History:
# 1.1 wenn das Script beim Erstellen der Vorschaubildchen zu viel Zeit braucht, und vom Server abgewürgt wird, so braucht man das Script nun einfach nur erneut aufzurufen
# 1.11 das Textfile heißt nun standardmäßig description.txt (die endung .txt ist korrekter als das alte .ion) Der Name kann natürlich weiterhin geändert werden.
# 1.21 einige kleine Bugs behoben und $suchwort[$bild] eingeführt (mehr auf http://www.superphotos.info/tipps.htm )
# 1.3 die Thumbnails werden nun im selben Ordner wie die anderen Bilder gespeichert mit dem präfix "th_" also zb th_bildname.jpg
# 1.31 Falls Bildernamen sich nur durch Zahlen unterscheiden wird nun doch der Bildname mit Ziffern angezeigt (Betrifft Variable $bnoz)
# 1.32 Die Variable $home (Server Name) wurde etwas verändert, damit Sie auf unterschiedlichen Servern funktioniert
# 1.33 Nun wird auch die Bildgröße des kleinen Bildchens auf der letzten Bilderseite korrekt dargestellt
# 1.34 kleiner Bug im Sortiermechanismus entfernt
# 1.35 kleine Verbesserung bei meta description
# 1.36 Die Einstellung $sortpictures = "date"; ergibt nun die Sortierreihenfolge nach dem Zeitpunkt zu welchem die Bilder auf den Server hochgeladen wurden (ist praktisch wenn immer wieder neue Bilder hinzukommen, die dann am Anfang angezeigt werden sollen)
# 2.0 Bei besonders großen Bildern wird nun ein zusätzliches mittelgroßes Vorschaubild erzeugt (mit dem Präfix thm_ als Dateiname) Diese Version unterscheidet sich darum auch im html Code der Einzelbildseiten von den Vorgängerversionen. Die letzte Version 1.36 finden sie auf http://www.superphotos.info/webYourPhotos136.txt
# 2.1 Design/Farben sind nun leichter anpassbar mittels css
# 2.2 auf den Einzelbildseiten wird nun auch das vorherige Bildchen eingeblendet
# 2.3 nun wird jeweils das nächste Bild der Seite vorgeladen ($next_orginal), so dass sich ein schneller Seitenaufbau ergibt wenn der User das nächste Bild anschaut.
# 2.4 Das Wort "Kategorie" wurde aus der Ansicht entfernt, und Verbesserungen am Design für Netscape.
# 2.42 An den Seiten unten wurde ein Bookmark und email Link eingefügt (nur im IE mit aktiviertem Javascript sichtbar) sowie Verbesserung bei der Ordnernamenserkennung
# 2.44 Verbesserungen beim Einlesen des description.txt files. In der Bildbeschreibung können nun
,
, , , Partner -> Partnerlabor) anmelden, und dann weiter unten im Script (etwa Zeile 235) Ihre Partner ID eintragen, und $Foto_Postkarte = 1 ; einstellen
# 3.14 kleine Verbesserungen, sowie Warnmeldung bei fehlerhaften Bildernamen (zB Leerzeichen im Namen) Durch das Entfernen der beiden // in der letzten Zeile der Funktion check_pic_name können Sie versuchen, dass das Script die fehlerhaften Bildernamen umbenennt.
# last change: 1.05.2003
#
#######################################################
*/
$version = "3.15 Design A" ;
$lizens = "free" ;
// If you payed the lizens of 12 Euro, please insert your lizensnumber. by example: $lizens = "007" ;
// Falls Sie die 12.- Euro Lizensgebühr bezahlt haben, tragen Sie hier bitte Ihre Lizensnummer ein. zB: $lizens = "007" :)
$home = "" ;
// if the script doesn't recognise your domain name, or you want the home link to a special site, please use $home = "http://www.your-name.de" ;
// Falls das Script Ihren Domainnamen nicht erkennt, oder Sie den Home-Link an den Seiten unten auf eine spezielle Seite legen möchten,
// so tragen sie bitte hier die Url ein. zB: $home = "http://www.ihr-name.de" ;
$absoluter_pfad_zu_den_bildern = "http://www." ;
// if the script doesn't recognise the correct Url to the pictures folder, please insert them here. by example: "http://www.your-name.com/path/to/the/pictures/"
// Falls das Script den absoluten Pfad zu den Bildern nicht erkennt, so tragen sie bitte hier die Url ein.
// zB: "http://www.ihr-name.de/pfad/zu/den/bildern/"
$language= "en";
// language/sprache english = "en" deutsch = "de" francais = "fr"
$color_outside = "FFFFFF" ;
// bitte hier die Hintergrundfarbe einstellen / =backgroundcolor (bei einem Hintergrundbild muß bei create_corners() die andere farbe ($farbe_a) als transparent eingestellt werden, sowie das html der Tabelle verändert werden (Hintergrungfarbe haben dann nur einzelne Zellen) - evt. im forum nachfragen)
$color_inside = "" ;
// define your colors - $color_inside = "" ; makes random colors for each page.
// wähle deine Farben - $color_inside = "" ; erzeugt helle zufallsfarben im inneren Bereich für jede Seite.
$max_size = 120 ;
// change $max_size to the maximum size you want for the thumbnails
// $max_size - Bitte hier die maximale Größe der Vorschaubildchen eintragen.
$sortpictures = "alpha" ;
// if you want the pics be sorted as in your description file use $sortpictures = "descr";
// $sortpictures = "descr"; ergibt die gleiche Reihenfolge wie im Beschreibungsfile / sorts as in your description file
// $sortpictures = "date"; ergibt Sortierung nach dem Datum der letzten Änderung(=Hochladezeitpunkt auf Server) / sorts after Upload time
// $sortpictures = "alpha"; alphabetische Reihenfolge / alphabetic
$key_words = "photos photo picture image pic" ;
// these keywords will appear in every page in the meta tag keywords
// Keywords, die in jeder Seite zusätzlich verwendet werden
$quality = 50 ;
// jpg-Thumbnail Quality 1-100 Qualität der jpg-Vorschaubilder (if you change this, you will have to delete the existing thumbnails, to be sure that they will be recreated / wenn Sie diesen Wert ändern, nachdem die Thumbnails bereits erstellt wurden müßen sie die Thumbs von Hand löschen, damit diese neu erstellt werden.)
$your_name = "" ;
// Ihr Name (für die Verwendung in den meta tags author und copyright) - insert your name (for use in copyright and author tags) $your_name = "your name" ;
$thm_limit = 720 ;
// additional thumbnails will be created if the orginal picture it greater than $thm_limit. präfix will be "thm_"
// hat das OrginalBild eine Seitenlänge größer als $thm_limit so wird zusätzlich ein mittelgroßes Bild erzeugt mit dem präfix "thm_" also zb thm_bildname.jpg
$thm_size = 520 ;
// the size of the additional thumbnails
// die maximale Seitenlänge der zusätzlichen mittelgroßen Bilder
$thm_quality = 63 ;
// jpg-Thumbnail Quality (1-100) of the additional jpg thumbnails / Qualität der zusätzlichen mittelgroßen jpg-Vorschaubilder
$selectbox = '
' ;
// please insert here all your links, you want in the Dropdown menue
// bitte fügen Sie hier alle links ein, welche Sie in dem Dropdown menue haben wollen. Links welche in einem neuen fenster geöffnet werden sollen, bitte mit x kennzeichnen vor der Url. Es können beliebig viele Links verwendet werden.
// Suchlinks mit der Variable $suchwort können erst weiter unten im script eingefügt werden. Da in diesen Links nochmals das wichtigste keywort auftaucht sind diese besonders wichtig..
$create_Thumbnails = 1 ;
// Tragen Sie hier den Wert 0 ein, wenn Sie die Thumbnails, und die optionalen mittelgroßen Bilder bereits selbst erstellt haben.
// Diese Option ist gedacht, falls Ihr Server keine GD Unterstützung bietet, oder Ihre Bilder zu groß für den Server sind. Dann ist die Selbsterstellung der Thumbnails eine Behelfsmöglichkeit
// Präfix der Thumbnails: th_ Präfix der mittelgroßen Bilder: thm_ - alle in denselben Ordner // $create_Thumbnails = 0 ;
// If you have already created the thumbnails by your own, please use here $create_Thumbnails = 0 ;
$GIF_pics = 0 ;
// If you want to use gif pictures you have to create the Thumbnails yourself with another software, and upload them with the prefix th_ $GIF_pics= 1 ;
// Gif Bilder können aus rechtlichen Gründen nicht mit der GD Bibliothek erstellt werden. Gif-Thumbnails müssen daher von Hand selbst erstellt werden. Bei Verwendung von gif-Bildern $GIF_pics= 1 ; einstellen
// Ihre Fotos als echte Foto-Postkarte verschicken (only in the german version)
// Der gesamte Bestellprozess wird von Fotokasten verwaltet, Sie müssen sich nur beim Partnerprogramm registrieren, und die Teilnahmebedingungen der Nutzung der Fotokasten.de Partnerlabor-Schnittstelle anerkennen, sowie die Freischaltung für den Postkarten Service (opedo) beantragen.
// Die Verkaufspreise und Provisionen bestimmen Sie selbst. Registrieren Sie sich über: http://partners.webmasterplan.com/click.asp?ref=89063&site=2558&type=text&tnb=4 (Home -> Partner -> Partnerlabor)
$Foto_Postkarte = 1 ;
// Stellen Sie $Foto_Postkarte = 1 ; ein, wenn Sie den Versand des Bildes als echte Foto-Postkarte anbieten wollen (erfordert Freischaltung von Fotokasten)
// Stellen Sie $Foto_Postkarte = 2 ; ein, wenn Sie auch die anderen Fotokasten Angebote Ihren Usern anbieten möchten. Infos auf: http://partners.webmasterplan.com/click.asp?ref=89063&site=2558&type=text&tnb=4
// Stellen Sie $Foto_Postkarte = 3 ; ein, wenn Sie alle beiden Fotokasten-Links Ihren Usern anbieten möchten.
// Stellen Sie $Foto_Postkarte = 0 ; ein, wenn Sie keine Fotokasten Einbindung möchten
$Fotokasten_partnerID = "1206" ;
// Bitte tragen sie hier Ihre Partner ID von Fotokasten ein. Wichtig: Dies ist nicht(!) Ihre Affili.net ID
// (zum testen können Sie 1206 verwenden.)
$mindest_kB_groesse = 50 ;
// Stellen Sie hier die Mindest KiloByte Zahl ein, ab der ein Bestell-Link zu Fotokasten eingefügt werden soll.
// (Beim Postkartenlink wird zusäztlich überprüft, ob das Orginal mindestens 0.6 Megapixel gross ist.)
// these CSS styles will be in all pages. You can change these styles to your design, or copy the css of other webYourPhotos Versions (you will find some others in the diverent german versions of this script at www.superphotos.info)
// Passen Sie mittels dieser css Styles die Farben Ihrem Layout an.
$css_styles = << Welcome to webYourPhotos
$version
EOHTML;
$gdbefehl = "ImageCreateTrueColor";
$testGD = get_extension_funcs("gd"); if (!$testGD){ echo "
the GD library is not installed on your server - sorry that will not work...
Die GD-Bibliothek konnte nicht gefunden werden. (Die Befehle der GD Bibliothek sind für die Erstellung der Thumbnails erforderlich !
- als Alternative können sie die Thumbnails ( mit präfix th_ ) und die optionalen mittelgrossen Bilder ( mit präfix thm_ ) selbst erstellen.)
"; } else { echo "
the GD library was found on your Server - GD is OK
"; }
if(function_exists("imagecreatetruecolor")||function_exists("imagecreatetruecolor()")) { $imTest1 = @imagecreatetruecolor(12,12); }
if ($imTest1) {echo "Der Befehl imagecreatetruecolor funktioniert auf Ihrem Server, und wird verwendet
"; $versionGD = 2; @imagedestroy($imTest1);}
else { if(function_exists("imagecreate")||function_exists("imagecreate()")) { $imTest2 = @imagecreate(12,12); }
if ($imTest2) {echo "Der Befehl imagecreate funktioniert auf Ihrem Server, und wird verwendet
"; $versionGD = 1; @imagedestroy($imTest2); }
else {echo "
the GD library seems not to be installed on your Server - sorry that will not work...
"; $versionGD = 0; } }
$home1 = $_SERVER['SERVER_NAME'] ; if((strlen($home1)>4)&&(!preg_match("/(local|127.0)/",$home1))){$on=1;}
if ( $home == "" ) { $home = preg_replace("/^www\./i","",$home1) ; $home = "http://www." . $home ; }
if ( $home == "http://www." ) { echo "Warning: Recognition of your domain name failed - please insert it by hand in the script, (where \$home = \"\" ;)
Achtung: Ihr Domainname wurde nicht erkannt - Bitte tragen Sie ihn im Script in die Variable \$home ein
"; } if ($on==1) {$in1="";}
$dir = $_SERVER['PHP_SELF'] ;
echo "Server Name: $home
";
echo "Pfad: $dir
" ;
$dir = dirname($dir); trim($dir) ;
$kategorie = $dir ;
if ( $absoluter_pfad_zu_den_bildern == "http://www." ){$absoluter_pfad_zu_den_bildern=$home . $dir ;}
$absoluter_pfad_zu_den_bildern = preg_replace ("/\/$/","",$absoluter_pfad_zu_den_bildern);
$absoluter_pfad_zu_den_bildern .= "/" ;
echo "Path / Absoluter Pfad: $absoluter_pfad_zu_den_bildern
";
echo "Directory / aktuelles Verzeichnis: $dir
\n";
if (strlen($kategorie)<1) { $verz = getcwd(); echo "getcwd: $verz
" ; $kategorie = $verz ; trim($kategorie) ;}
$kategorie = str_replace ("\\","/",$kategorie);
$kategorie = preg_replace ("/\/$/","",$kategorie);
$kategorie1 = preg_replace ("/^.*\//","",$kategorie);
$folder = $kategorie1 ;
if (strlen($kategorie1)<2)
{ echo "
Achtung - Kategoriename/Ordnername wurde nicht erkannt !
Warning: folder name not found !";
$kategorie1 = $text_1 ;}
$kategorie = preg_replace ("/ /","_",$kategorie1);
if ($kategorie1 != $kategorie) {echo "
Warning: Your folder name contains space tabs - please change your folder name
Achtung Ihr Ordnername enthält Leerzeichen !
Bitte bennenen Sie Ihren Ordnernamen um, da Leerzeichen und Umlaute in Urls meist nicht funktionieren
" ;}
$hauptseite = $kategorie.".html" ;
$hauptseite = preg_replace ("/ /","",$hauptseite);
$hauptseite_abs = $absoluter_pfad_zu_den_bildern . $hauptseite;
$kategoriename = preg_replace ("/_/"," ",$kategorie) ;
$kategoriek = $kategoriename ;
$kategoriename = ucfirst($kategoriename) ;
$kategoriename = umlaute2($kategoriename) ; // diese Zeile muss gelöscht werden, wenn der Ordnername nicht in Umlaute verwandelt werden soll (betrifft nur deutsch)
echo "Category / Kategoriename : $kategoriename \n";
$zeit = time(); $datum = getdate($zeit); $zeit = $datum[year] . "-" . $datum[mon] . "-" . $datum[mday] ; $te=3;
// looking for the pics:
$allpics = array();
$auf = opendir ("./"); // alternativ: $verz = getcwd(); $auf = opendir ($verz);
while ($file = readdir ($auf)) {
if (!((preg_match ("/^th_/",$file))||(preg_match ("/ecke_wyp/",$file)))) {
if (preg_match ("/^thm_/",$file)) {
$bild_om = preg_replace ("/^thm_/","",$file) ;
if (!(file_exists($bild_om))) {
if (preg_match("/\.jpg$/i",$file)) { array_push ($allpics,$file) ; }
if (preg_match("/\.jpeg$/i",$file)) { array_push ($allpics,$file) ; }
if (preg_match("/\.png$/i",$file)) { array_push ($allpics,$file) ; }
if ($GIF_pics==1) { if (preg_match("/\.gif$/i",$file)) { array_push ($allpics,$file) ; } } }
} else
if (preg_match("/\.jpg$/i",$file)) { array_push ($allpics,$file) ; }
if (preg_match("/\.jpeg$/i",$file)) { array_push ($allpics,$file) ; }
if (preg_match("/\.png$/i",$file)) { array_push ($allpics,$file) ; }
if ($GIF_pics==1) { if (preg_match("/\.gif$/i",$file)) { array_push ($allpics,$file) ; } } }
}
closedir($auf);
// die Thumbnails:
if (( $versionGD == 0 )|| ($create_Thumbnails == 0 )) { echo "
Es wird nach Thumbnails und mittelgroßen Bildern gesucht, welche Sie selbst erstellt haben. Diese müssen das Präfix th_ bzw thm_ haben
The script searches for thumbnails (th_ ) and middle great thumbnails (thm_ ), you have created yourself.
";
foreach ($allpics as $bild) {
$kb[$bild] = round(filesize($bild)/1000) ;
$info = getimagesize($bild);
$wi[$bild] = $info[0];
$hi[$bild] = $info[1];
$tags[$bild] = $info[3];
$th = "th_" . $bild ;
if (file_exists($th)) { echo "Thumbnail found/ Vorschaubild gefunden: $th
" ;
$infotn = getimagesize($th);
$tagstn[$bild] = $infotn[3];
$th_wi[$bild] = $infotn[0] ;
$th_hi[$bild] = $infotn[1] ;}
else {echo "Thumbnail not found/ Vorschaubild nicht gefunden: $th
" ; } // $no_th[$bild] = 1;
$thm = "thm_" . $bild ;
if (file_exists($thm)) { echo "additional Thumbnail found/ mittelgrosses Vorschaubild gefunden: $thm
" ;
$infotm = getimagesize($thm);
$tagstm[$bild] = $infotm[3];
$wi[$bild] = $infotm[0];
$hi[$bild] = $infotm[1];
$thm_exists[$bild] = 1 ;}
} }
else { // ab hier kreiert das script die Thumbnails:
echo "
creating the thumbnails
if the script stops here please just run it again (refresh), and the missing thumbnails will be created
Erstelle Thumbnails - falls das Script an dieser Stelle abbricht, so rufen Sie das Script bitte einfach erneut auf (aktualisieren), damit die restlichen Thumbnails erstellt werden.
";
foreach ($allpics as $bild) {
$kb[$bild] = round(filesize($bild)/1000) ;
$info = getimagesize($bild);
$th = "th_" . $bild ;
$infotn[0] = 0 ;
if (file_exists($th)) {$infotn = getimagesize($th);}
$w = $info[0];
$h = $info[1];
$wi[$bild] = $w;
$hi[$bild] = $h;
$tags[$bild] = $info[3];
$newwidth = $max_size ;
$newheight = round($h/$w*$max_size);
if ($h>$w) {$newheight = $max_size ; $newwidth = round($w/$h*$max_size);}
if ($newwidth!=$infotn[0]) {
if ($info[2] == 2) {
$src = imagecreatefromjpeg($bild);
if ($src) {
if ( $versionGD == 1 ) { $im = imagecreate($newwidth,$newheight); imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$w,$h); }
else { $im = imagecreatetruecolor($newwidth,$newheight); imagecopyresampled($im,$src,0,0,0,0,$newwidth,$newheight,$w,$h);} }
else {$im = imagecreate(84,42); // wenn bild nicht erstellt werden konnte
$farbe_body=imagecolorallocate($im,243,243,243);
imagefill($im,0,0,$farbe_body);
$farbe_b = imagecolorallocate($im,10,36,106);
imagestring ($im, 5,18, 4, $text_25, $farbe_b);
imagestring ($im, 6,6, 20, $text_26, $farbe_b);}
imagejpeg($im,$th,$quality);
imagedestroy($im);
$infotn = getimagesize($th);
chmod ($th, 0775); }
else if ($info[2] == 3) {
$src = imagecreatefrompng($bild);
if ($src) {
if ( $versionGD == 1 ) { $im = imagecreate($newwidth,$newheight); imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$w,$h); }
else { $im = imagecreatetruecolor($newwidth,$newheight); imagecopyresampled($im,$src,0,0,0,0,$newwidth,$newheight,$w,$h);} }
else {$im = imagecreate(84,42);
$farbe_body=imagecolorallocate($im,243,243,243);
imagefill($im,0,0,$farbe_body);
$farbe_b = imagecolorallocate($im,10,36,106);
imagestring ($im, 5,18, 4, $text_25, $farbe_b);
imagestring ($im, 6,6, 20, $text_26, $farbe_b);}
imagepng($im,$th);
imagedestroy($im);
$infotn = getimagesize($th);
chmod ($th, 0775); }
if ($src) {echo "$th
" ;} else {echo"The photo $bild seams to be too big for the server / Das Foto $bild ist möglicherweise zu gross für den Server. Es konnte kein brauchbares Thumbnail erstellt werden.
";} }
// die mittelgroßen Bilder (thm_)erzeugen:
if (($w > $thm_limit)||($h > $thm_limit)) {
$thm = "thm_" . $bild ;
$infotm[0] = 0 ;
if (file_exists($thm)) {$infotm = getimagesize($thm);}
$newwidth = $thm_size ;
$newheight = round($h/$w*$thm_size);
if ($h>$w) {$newheight = $thm_size ; $newwidth = round($w/$h*$thm_size);}
if ($newwidth!=$infotm[0]) {
if ($info[2] == 2) {
$src = imagecreatefromjpeg($bild);
if ($src) {
if ( $versionGD == 1 ) { $im = imagecreate($newwidth,$newheight); imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$w,$h); }
else { $im = imagecreatetruecolor($newwidth,$newheight); imagecopyresampled($im,$src,0,0,0,0,$newwidth,$newheight,$w,$h);}
imagejpeg($im,$thm,$thm_quality);
imagedestroy($im);
chmod ($thm, 0775);
$infotm = getimagesize($thm); }
else {echo"The photo $bild seams to be too big for the server / Das Foto $bild scheint zu gross für den Server zu sein
";}}
else if ($info[2] == 3) {
$src = imagecreatefrompng($bild);
if ($src) {
if ( $versionGD == 1 ) { $im = imagecreate($newwidth,$newheight); imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$w,$h); }
else { $im = imagecreatetruecolor($newwidth,$newheight); imagecopyresampled($im,$src,0,0,0,0,$newwidth,$newheight,$w,$h);}
imagepng($im,$thm);
imagedestroy($im);
chmod ($thm, 0775);
$infotm = getimagesize($thm);}
else {echo"The photo $bild seams to be too big for the server / Das Foto $bild scheint zu gross für den Server zu sein
";}}
}
if (file_exists($thm)) {echo "additional Thumbnail / mittelgrosses Vorschaubild: $thm
" ; $tagstm[$bild] = $infotm[3]; $wi[$bild] = $infotm[0]; $hi[$bild] = $infotm[1]; $thm_exists[$bild] = 1 ;}
}
$tagstn[$bild] = $infotn[3];
$th_wi[$bild] = $infotn[0] ;
$th_hi[$bild] = $infotn[1] ;
}
echo "Thumbnails erstellt" ; } // ende thumbnails
// multi-Galerien (ist noch nicht perfekt - aber besser als gar nichts...):
$links_to_all_gallerys = "../links_to_all_gallerys.txt" ;
$all_gallery = '\n" ;
if(file_exists($links_to_all_gallerys)) {
$data = file($links_to_all_gallerys);
$okat = ">".$kategoriename."<" ; $ist_drin = 0 ; $gal = 0 ;
$all_gallery = '\n" ;
foreach ($data as $zeile) {
if ( stristr($zeile,$okat)){ $ist_drin = 1 ;}
else { if ( stristr($zeile,"option")) {$all_gallery .= $zeile ; $gal = 1 ; } } } }
else {echo "
Es wurde keine weitere Galerie gefunden
";}
// Beschreibungen und Reihenfolge der Bilder:
if(file_exists($description)) {
$data = file($description);
$nr = 0 ;
foreach ($data as $zeile) {
$zeile = trim ($zeile) ;
if (strlen($zeile)>4){
$data2 = explode(" ",$zeile,2);
$bild = $data2[0] ;
if (in_array($bild,$allpics)) {
$bb[$bild] = trim($data2[1]) ;
$nr++;
$bnr[$bild]=$nr;
$biname[$nr] = $bild ; }
else {echo "
$bild could not be found, or was not used as a picture / wurde nicht gefunden, bzw wurde nicht als Bild verwendet";}
}}}
else {echo "
Description file $description not found !!!
Beschreibungstexte Datei $description wurde nicht gefunden !!!
";}
if ($lizens == "free") {$regi = "The backlink to webyourphoto.info has to stay intakt in the freeware version / Bitte beachten sie, dass der Backlink by webYourPhotos in der Freewareversion intakt bleiben muss.
" ; $te=2;}
$newd = "" ;
foreach ($allpics as $bild) {
if(!isset($bnr[$bild])) {
$nr++;
$bnr[$bild]=$nr;
$biname[$nr] = $bild ;
$bb[$bild]="";
$newd .= $bild . "\n";
}
$bnn[$bild] = preg_replace ("/\..*/","",$bild) ;
$bnn[$bild] = preg_replace ("/^thm_/","",$bnn[$bild]) ;
$bn[$bild] = preg_replace ("/_/"," ",$bnn[$bild]) ;
$bn[$bild] = ucfirst($bn[$bild]) ;
$bnoz[$bild] = preg_replace ("/\d*$/","",$bn[$bild]) ;
$bnoz2[$bild] = preg_replace ("/\d/","",$bnoz[$bild]) ;
$suchwort[$bild] = preg_replace ("/\b[\w]{1,3}\b/","",$bnoz2[$bild]) ;
if (strlen($suchwort[$bild])<4){ $suchwort[$bild] = $kategoriek ;}
$suchwort[$bild] = preg_replace ("/\d/","",$suchwort[$bild]) ;
$suchwort[$bild] = preg_replace ("/-/"," ",$suchwort[$bild]) ;
$suchwort[$bild] = preg_replace ("/ +/","+",$suchwort[$bild]) ;
$suchwort[$bild] = preg_replace ("/\++$/","",$suchwort[$bild]) ;
$suchwort[$bild] = preg_replace ("/^\++/","",$suchwort[$bild]) ;
if (strlen($suchwort[$bild])<2){ $suchwort[$bild] = preg_replace ("/ /","",$text_1) ;}
if ($bnoz_h == $bnoz2[$bild]) { $bnoz[$bild] = $bn[$bild] ; $bnoz[$bild_h] = $bn[$bild_h] ;}
$bnoz_h = $bnoz2[$bild] ;
$bild_h = $bild ;
}
if (strlen($newd)>8){ $fp = fopen($description,"ab"); if ($fp) { fputs($fp,$newd); fclose($fp); chmod ($description, 0775);} }
if ($sortpictures == "alpha") {
natcasesort($allpics) ;
$nr = 0 ;
foreach ($allpics as $bild) { $nr++; $bnr[$bild] = $nr; $biname[$nr] = $bild ;}
}
if ($sortpictures == "date") {
foreach ($allpics as $bild) {
$datch[$bild]= filemtime($bild); }
arsort($datch,SORT_NUMERIC); // rückwärts sortieren(backwards): asort($datch,SORT_NUMERIC);
$nr = 0 ;
while(list($bild, $val) = each($datch))
{ $nr++; $bnr[$bild] = $nr; $biname[$nr] = $bild ;
echo "
$bild - $datch[$bild]"; echo " Date: " .gmdate("d M Y H:i:s", $datch[$bild]);}
}
for($i = 1;$i <= $nr; $i++) {
$bild = $biname[$i];
$keywords[$bild] = (" " . $bn[$bild] . " " . $bb[$bild] . " ") ;
$keywords[$bild] = preg_replace ("/<.*>/U"," ",$keywords[$bild]) ;
$keywords[$bild] = preg_replace ("/[^a-zA-ZäöüÄÖÜß]/"," ",$keywords[$bild]) ;
$keywords[$bild] = preg_replace ("/ [a-zA-ZäöüÄÖÜß]{1,3} /"," ",$keywords[$bild]) ;
$keywords[$bild] = preg_replace ("/ [a-zA-ZäöüÄÖÜß]{1,3} /"," ",$keywords[$bild]) ;
$keywords[$bild] = preg_replace ("/ +/"," ",$keywords[$bild]) ;
if (strlen($keywords[$bild]) > 12) {$keywords[$bild] = preg_replace ("/ [a-zA-ZäöüÄÖÜß]{1,4} /"," ",$keywords[$bild]) ;$keywords[$bild] = preg_replace ("/ [a-zA-ZäöüÄÖÜß]{1,4} /"," ",$keywords[$bild]) ;}
if (strlen($keywords[$bild]) > 32) {$keywords[$bild] = preg_replace ("/ [a-zA-ZäöüÄÖÜß]{1,5} /"," ",$keywords[$bild]) ;}
if (strlen($keywords[$bild]) > 111) {$keywords[$bild] = substr($keywords[$bild],0,100) ; $keywords[$bild] = preg_replace ("/ \w+$/","",$keywords[$bild]) ; }
$keywords[$bild] = $keywords[$bild] . " " . $kategoriek . " " . $key_words;
$keywords[$bild] = preg_replace ("/,/"," ",$keywords[$bild]) ;
$keywords[$bild] = preg_replace ("/ +/"," ",$keywords[$bild]) ;
$keywords[$bild] = trim($keywords[$bild]) ;
$dop = explode(" ",$keywords[$bild]) ;
$dopp = array_unique($dop) ;
$keywords[$bild] = implode(", ",$dopp) ;
$keywords[$bild] = preg_replace ("/ +/"," ",$keywords[$bild]) ;
$keywords[$bild] = preg_replace ("/[, ]{2,}/",", ",$keywords[$bild]) ;
$keywords[$bild] = umlaute($keywords[$bild]) ;
$bb[$bild] = umlaute($bb[$bild]);
$btitle[$bild] = $bb[$bild];
$btitle[$bild] = preg_replace ("/<.*>/U"," ",$btitle[$bild]) ;
if (strlen($bb[$bild]) > 200) {
$btitle[$bild] = substr($btitle[$bild],0,189) ;
$btitle[$bild] = preg_replace ("/ \w+$/","",$btitle[$bild]) ;
$btitle[$bild] = $btitle[$bild] . "... " ; }
if (strlen($bb[$bild]) < 2) { $btitle[$bild] = "(" . $kategoriename . ")"; $metadesc[$bild] = $text_2 . $bn[$bild] . " " . $text_3 . " " . $kategoriename ;}
else { $metadesc[$bild] = $bn[$bild] . ": " . $btitle[$bild] ; }
$btitle[$bild] = $bn[$bild] . ": \n" . $btitle[$bild] ;
}
echo " " ;
for($i = 1;$i <= $nr; $i++) {
$bild = $biname[$i];
echo "Picture / Bild Description / Beschreibung Keywords title ";}
echo "Nr. $i: $bild
$kb[$bild] kB$bb[$bild] $keywords[$bild] $btitle[$bild]
";
$color_inside1 = $color_inside ;
if ($color_inside1 == ""){ $color_inside = create_random_color() ; } // here only for the thumbnailpage
// die eck grafiken
if ( $versionGD > 0 ){create_corners($color_outside,$color_inside); } else { if (!(file_exists("ecke_wyp4.png"))){ echo "
Sie müssen die Eckgrafiken: ecke_wyp1.png, ecke_wyp2.png, ecke_wyp3.png, ecke_wyp4.png, selbst hochladen
You will have to upload the corner-pics yourself
you will find them in the webYourPhotos zip file
";} }
// Fotokasten.de Einbindung (only german version)
if (($Foto_Postkarte != 0) && ($language== "de")) {
echo "
Achtung: Bitte prüfen sie unbedingt, ob der absolute Pfad zu den Bildern korrekt erkannt wurde,
damit der Service von Fotokasten funktioniert:
$absoluter_pfad_zu_den_bildern
Falls der Pfad nicht korrekt erkannt wurde, tragen Sie bitte manuell die Url im Script in die Variable \$absoluter_pfad_zu_den_bildern (etwa Zeile 170) ein
" ;
if (($Foto_Postkarte == 1)||($Foto_Postkarte == 3)) {
$fotokasten_link_text1 = "Dieses Bild als Postkarte versenden" ;
$fotokasten_link_title1 = "Senden Sie dieses Bild als echte Postkarte an Freunde" ; }
if (($Foto_Postkarte == 2)||($Foto_Postkarte == 3)) {
$fotokasten_link_text2 = "Dieses Bild bei Fotokasten bestellen" ;
$fotokasten_link_title2 = "Dieses Bild auf hochwertigem Fotopapier bei Fotokasten.de bestellen" ; }
foreach ($allpics as $bild) { if (eregi ("jp(e){0,1}g$",$bild)){
$th = "th_" . $bild ; $wi_b= $wi[$bild] ; $hi_b= $hi[$bild] ;
if (($th_wi[$bild] < 300)&&($th_wi[$bild] > 10)&&($th_hi[$bild] < 300)&&($th_hi[$bild] > 10)&&( $kb[$bild] > $mindest_kB_groesse )) {
if ($thm_exists[$bild] == 1 ) {
if (($wi_b< 300)&&($hi_b< 300)) { // wenn thm kleiner als 300 pixel dann kann das mittelgroße Bild als Vorschau verwendet werden
$th = "thm_" . $bild ;
$kb_thm = round(filesize($th)/1000) ;
if ($kb_thm > 60) { $th = "th_" . $bild ; } } // wenn thm größer als 60 kB, dann doch das kleine Thumbnail
$info = getimagesize($bild); $wi_b= $info[0]; $hi_b= $info[1]; } // wegen thm sonderbehandlung notwendig
$bildlink = $absoluter_pfad_zu_den_bildern . $bild ;
$th_bildlink = $absoluter_pfad_zu_den_bildern . $th ;
if (($Foto_Postkarte == 1)||($Foto_Postkarte == 3)) {
if ( ($wi_b* $hi_b) > 600000 ) { // prüft, ob mindestens 0.6 Megapixel vorhanden sind, wegen Postkarten-Bildqualität
$fotokasten_url1 = "http://" . $Fotokasten_partnerID . ".partner.fotokasten.de/affiliateapi/standard.php?opedo=" . $bildlink . "&thumbnail=" . $th_bildlink . "&width=" . $wi_b. "&height=" . $hi_b;
$fotokasten_JS1[$bild] = <<
"; chmod ("index.htm", 0775);
if (ereg("yourname",$selectbox)) {$selectbox="";}
$selectbox = $selectbox . $all_gallery . "" ;
$wyp = '' ; if ($te!=2) {$wyp = "";}
$thumbnails = "";
// start of html-code for the tumbnail page. / hier beginnt der html code der Seite mit den Vorschau-bildchen.
for($i = 1;$i <= $nr; $i++) {
$bild = $biname[$i];
$thumbnails .= << \n
EOT;
}
$thumbnail_page = <<
![]()
![]()
![]()
![]()
$kategoriename $nr $text_1
$kategoriename $nr Bilder
![]()
![]()
![]()
![]()
$text_13