[php] meine gallery - eure meinung ist gefragt

2TAKTER

Lt. Junior Grade
Registriert
Okt. 2005
Beiträge
399
hi
ich habe eine kleine gallery geschrieben... ich weiß so etwas gibt es schon zu hunderten aber ich denke meine hat auch ihre daseins berechtigung. würde mich über ein paar kleine tests freuen.
einfach auf ner php mit include "gallery_full.php"; einbinden und testen
in der gallery_var.php könnt ihr alle relavanten einstellungen treffen.
für die überschrift der gallery kann man eine cssklasse angeben (ist aber nicht notwendig)... wenn man sein css auch im popup nutzen will, muss man es manuell im head der gallery_pic.php einbinden, sonst bleibt das popup weiß mit standardschrift.
nachteil der ganzen geschichte is, dass man nur einen ordner verwenden kann. sprich mehrere unterschiedliche gallerien sind nicht möglich.
allerdings reicht es nach angabe des bilderverzeichnises einfach neue bilder in die gallery einzufügen. sprich die gesamte gallerie ist dynamisch.

also würd mich über eure reaktionen freuen

mfg 2TAKTER

PS: verbesserungsvorschläge oder eure codeschnipsel nehm ich auch gern entgegen ^^
 

Anhänge

  • gallery.zip
    48 KB · Aufrufe: 204
Hallo,

ich habe eben einmal deine Gallerie angetestet und mir etwas den Code angeschaut.
Gerade als kleine Bildergallerie ist dein Code ganz nett. :daumen:
Der Code ist zwar recht simpel, doch soweit ich es es getestet habe voll funktionsfähig.

Allerdings hätte ich noch ein paar Verbesserungsvorschläge:

1) Die Tabelle zur Bilddarstellung ist in diesem Fall nicht unbedingt notwendig, ein paar DIV-Container erfüllen bei einem kürzeren Code den gleichen Zweck und daneben ist das ganze dann auch individueller per CSS anpassbar. ;)

2) Gerade bei größeren Bildern würde es sich anbieten, nicht einfach nur das entsprechende Bild verkleinert als Thumbernail anzuzeigen, sondern ein kleineres Vorschaubild zu generieren. Dies erleichtert es auch Modem-Benutzern das browsen in der Gallerie. ;) Dazu kannst du dir einmal die Image-Funktionen von PHP anschauen.

3) Gerade im Anschluss zu dem wäre eine dynamische Ermittlung der Bildgröße nicht schlecht. Dies bringt den Vorteil mit sich, dass Bilder, die nicht im Standardformat vorliegen, entsprechend angepasst werden könnten und so nicht in das Standardvormat verzerrt werden. ;)
Somit könntest du auch gleich dann das Popup auf die richtige Größe bringen. Dazu bietet sich zum Beispiel die Funktion getimagesize() an. Mit dieser könntest du auch gleich überprüfen, ob es sich bei den Dateien auch wirklich um ein Bild handelt.

4) Als vierter kleiner Hinweis wäre noch eine kleine Codeanpassung zu nennen. Und zwar werden Steuerzeichen in den GET-Variablen bei aktivierten MagicQuotes maskiert. Sollten solche Steuerzeichen in den Pfadangaben vorhanden sein, so wird es zu Fehlern kommen. Schaue dir dazu einmal die Funktionen get_magic_quotes_gcp() und stripslashes() an.

MfG mh1001
 
Moin,

hab mir das mal angeschaut. Folgendes ist mir dabei aufgefallen:

- Die Galerie erstellt keine echten Thumbnails, sondern du resized nur das orginal Bild. Das ist nicht besonders schlau, da du ja das eventuell große Bild komplett lädts, obwohl du nur ne kleine Vorschau anzeigen lässt. Pack testweise mal 10 Bilder a 200 kb oder mehr in deinen Ordner, dann wird das schon viel länger zum Laden brauchen. Gerade hier mit ISDN ist das nicht gerade gut. Das würde ich so überarbeiten, das echte Thumbnails von den Bildern erstellt werden (siehe dazu am besten mein Galeriescript in der Sig).

- Der erzeugte HTML Code hat keine Zeilenumbrüche, er wandert immer weiter nach rechts um so mehr Bilder vorhanden sind. Nicht wirklich schlimm, aber auch nicht schön. Das kannst du einfach mit:

echo("<strong>Dies ist eine Zeile</strong>\n");

verbesseren. Gemeint ist das "\n" am Ende.

- Soweit möglich verzichte ich auf JavaScript, ist aber eher ne persönliche Präferenz und stellt auch keine echte Kritik dar.

Kannst dir ja mal mein Script anschauen und die Thumbailfunktion einbauen.
Online-Demo gibts hier so

mfg
 
danke für eure antworten
die sache mit den thumbnails ist eine die mich auch aufregt. danke für den tipp mit den image funktionen :)
ich werde noch etwas basteln und mich euren vorschlägen annehmen.

wegen dem javascript:
das popup soll so sein und ohne java weiß ich leider nicht wie ich es in dieser form hinbekomme :rolleyes:
 
2TAKTER schrieb:
[..] wegen dem javascript:
das popup soll so sein und ohne java weiß ich leider nicht wie ich es in dieser form hinbekomme :rolleyes:
Ohne JavaScript ist da auch nichts zu machen. ;)
Allerdings finde ich deine Variante auch so wie sie ist gut. Schließlich lässt sich die Seite so auch für Nutzer mit deaktiviertem JavaScript navigieren, da dann ja einfach die href-Anweisung ausgeführt wird.
Allerdings würde ich hier vielleicht noch ein target="_blank" hinzufügen, so dass in diesem Fall dann dennoch ein neues Fenster geöffnet wird. ;)

P.S.: Java != JavaScript ;)

MfG mh1001
 
ok hab mir mal den quellcode angeschaut. so ganz komme ich noch nicht damit klar.
Code:
<?php
include "gallery_var.php";

while ($datei = $pdirectory->read())
{
if(eregi(".jpg$", $datei))
{
$thumbnail = $thumbfolder;
$thumbnail .= "/";
$thumbnail .= $thumbprefix;
$thumbnail .= $datei;

$size = getimagesize("$datei");
$width = $wei;
$height = $hei;
$quelle = imagecreatefromjpeg("$datei");
$ziel = imagecreatetruecolor($width,$height);
imagecopyresized($ziel,$quelle,0,0,0,0,$width,$height,$size[0],$size[1]);
$createthumbnail=imagejpeg($ziel,"$thumbnail");
}
}
?>
allerdings will es die read() funktion nicht wirklich

Fatal error: Call to a member function read() on a non-object in K:\Server\xampp\htdocs\GALLERY\th.php on line 5

alle variablen sind aus der gallery_var.php bekannt

edit: und der ordner den es lesen soll existiert auch. wird bei is_dir() auch gefunden.
 
Zuletzt bearbeitet:
so die neue version ist da
lest euch einfach die read me durch :)
thumbs funktionieren jetzt :D danke merv für den code :)

die sache mit dem magicqoutes hab ich noch net ganz gerallt. aber ich schau es mir noch mal genauer an :)
 

Anhänge

  • gallery.zip
    49,2 KB · Aufrufe: 142
hey,

echt nette, kleine gallery!

simpel und gut!

nächster schritt wäre dann die erweiterung auf mehrere galerien ;)
 
eine neue Version mit neuen Features :)
Hier die READ ME ;)

2TAKTERS POPUP GALLERY
----------------------------

Features:
- Standardskript (gallery_var.php) in dem feste Pfade und Werte angegeben werden können
- mehrere Gallerietabellen möglich (Ändern der Werte vor dem Aufruf)
- Einbinden von CSS-Klassen
- absolut dynamische Gallerie
- Erstellen von Thumbnails per Installationsseite (mk_install.html)
- unterstüzt werden: jpg
- sauberer Quelltext wird nun erzeugt

zu beachten:
- Der Aufruf der Gallerien befindet sich in der gallery_full.php.
Diese muss includiert werden.
- Kommentare müssen genau so heißen wie das dazugehörige Bild (bild.jpg und bild.txt).
- Die angegebenen Pfade müssen existieren (außer der Thumbnailordner der bei der mk_install.html angegeben wird)!
- Die Angabe dieser Pfade muss ohne anführende oder abschließende Slashes geschehen.
Wenn die Bilder im Ordner "pics/screenshots" liegen, reicht es auch aus "pics/screenshots" in die Datei
zu schreiben. "pics/screenshots/" oder "/pics/screenshots" könnte Fehler verursachen.
- Beim Aufruf der Funktion "getPics()" muss der Thumbnailordner als Argument übergeben werden, nicht der Bilderordner.
- Die Variable "$thumbprefix" sollte einzigartig sein, sprich nicht in einem Ordner- oder
Dateinamen vorkommen. Ansonsten kommt es zu Fehlern. Namen wie "thumbnail_" sollten ausreichen.
Diese Variable sollte nur global in der gallery_var.php festgelegt werden, da es sonst zu Fehlern kommt.
Wenn sich das Prefix ändert, müssen alle Thumbnails neu installiert werden!

Bugs:
- Die Darstellung im Popup funktioniert manchmal eigenwillig.
Die Bildgröße variiert zum Teil (tritt nicht immer auf).
- Im Internet Explorer von Microsoft funktioniert das Popup nicht.
Die Bilder bleiben unsichtbar obwohl sie im QUelltext erscheinen.

Thanks:
- Merv für einige Codeschnipsel zum Erstellen von Thumbnails.


Kontakt: dsl_fuer_goerlitz@web.de

Bei den Bugs weiß ich wirklich nicht weiter.
Der Quellcode ist immer gleich und wird doch anders interpretiert.
Und weshalb der IE rum muckt weiß ich leider auch nicht.

Naja schaut es euch an ^^
 

Anhänge

  • gallery.zip
    54,3 KB · Aufrufe: 141
Die Gallery von merv behält nicht das Seitenverhältnis bei und der HTML Code hat keinen Doctype. http://de.php.net/imagecopyresampled wäre evtl dem resized vorzuziehen.

Wo ihr schon mal dabei seid, dürft ihr meine auch gleich auf Herz und Nieren testen. Bisher hatte ich nur eine Testperson, von daher :) der Code dürfte im IE nicht so wirklich immer funktionieren, aber dazu gibts ja die Templates die man verändern kann.

http://fotoalbum.lebsanft.org/files/fotoalbum_1.1.2-dev.tar.gz

Ordnerstruktur:

index.php
/system
Album1/
Album1/Bilder.{jpg,png,gif)
Album1/Unteralbum1/
Album1/Unteralbum1.{jpg,png,gif)
Album1/Unteralbum1/Bilder.{jpg,png,gif)

Album1.{jpg,png,gif) (als Vorschaubild)

Sorry für die Threadentführung 2TAKTER :)
 
Zuletzt bearbeitet:
Muss jeder User bei jedem Start die Einstellungen setzen? Nicht wirklich sinnvoll, oder? Sonst ist das Design ganz schick.
 
alle Ehre der Arbeit!
Ich nutze auf meiner WS einerseits 4Images, das aus Bildern mittels "GD Bibliothek" oder "ImageMagick" eigenständig Thumbs erstellt (ist zwar kostenlos,aber leider recht schwer zu installieren und hat hohe Anforderungen an den Server) oder ich biete im Download "picture_frame.pl" an, was allerdings vorab erstellte Thumbs benötigt und aus diesen und den echten Bildern selbständig eine Seite erstellt.
Für die meisten Normaluser halte ich letzteres für das einfachste, sofern sie CGI auf dem Server haben.
Natürlich ist eine noch einfachere Lösung viel erstrebenswerter, nur Bilder hochladen und eine einzige php-Datei macht den Rest!
 
@merv: Meinst du mich ? Wenn ja gibt es noch den config2.php file, der wenn in config.php umbenannt als globale Einstellung gilt. Da sich in Version 1.1.0 so viel geändert hat, habe ich die Dokumentation von 1.0.x noch nicht überarbeitet und deswegen ist nichts dabei.
 
JGW schrieb:
Natürlich ist eine noch einfachere Lösung viel erstrebenswerter, nur Bilder hochladen und eine einzige php-Datei macht den Rest!

Jo, das macht mein Schnippel ;)

@Benjamin_L

Achso, naja dann ;) Übrigens, die von deinem Skript erstellten Ordner darf ich per FTP nicht mehr löschen...Naja, muss ich mal per Hand ran...
 
Zuletzt bearbeitet:
ja mit den Rechten is das noch so ne Sache, nervt mich auch. Muss ich noch verbessern :)
 
so die bugs wurden behoben. der jetzige bug ist eher noch ein todo.

2TAKTERS POPUP GALLERY
----------------------------

Features:
- Standardskript (gallery_var.php) in dem feste Pfade und Werte angegeben werden können
- mehrere Gallerietabellen möglich (Ändern der Werte vor dem Aufruf)
- Einbinden von CSS-Klassen
- absolut dynamische Gallerie
- Erstellen von Thumbnails per Installationsseite (mk_install.html)
- unterstüzt werden: jpg
- sauberer Quelltext wird nun erzeugt

zu beachten:
- das CSS muss noch manuell in den head der gallery_pic.php eingebunden werden
- Der Aufruf der Gallerien befindet sich in der gallery_full.php.
Diese muss includiert werden.
- Kommentare müssen genau so heißen wie das dazugehörige Bild (bild.jpg und bild.txt).
- Die angegebenen Pfade müssen existieren (außer der Thumbnailordner der bei der mk_install.html angegeben wird)!
- Die Angabe dieser Pfade muss ohne anführende oder abschließende Slashes geschehen.
Wenn die Bilder im Ordner "pics/screenshots" liegen, reicht es auch aus "pics/screenshots" in die Datei
zu schreiben. "pics/screenshots/" oder "/pics/screenshots" könnte Fehler verursachen.
- Beim Aufruf der Funktion "getPics()" muss der Thumbnailordner als Argument übergeben werden, nicht der Bilderordner.
- Die Variable "$thumbprefix" sollte einzigartig sein, sprich nicht in einem Ordner- oder
Dateinamen vorkommen. Ansonsten kommt es zu Fehlern. Namen wie "thumbnail_" sollten ausreichen.
Diese Variable sollte nur global in der gallery_var.php festgelegt werden, da es sonst zu Fehlern kommt.
Wenn sich das Prefix ändert, müssen alle Thumbnails neu installiert werden!

Bugs:
- Bei Bilder die nicht im 4:3 Format sind, werden die Thumbnails verzerrt dargestellt.

Thanks:
- Merv für einige Codeschnipsel zum Erstellen von Thumbnails.


Kontakt: dsl_fuer_goerlitz@web.de

somit funktioniert die Gallerie jetzt unter FireFox und Internet Explorer :)
Das Design ist ebenfall nicht festgelegt und lässt sich per CSS vollständig anpassen. (nur wie beschrieben das popup nicht. da muss die gallery_var.php manuell bearbeitet werden um das CSS einzubinden.)

ich hoffe es gefällt euch ^^
 

Anhänge

  • GALLERY.zip
    54,2 KB · Aufrufe: 158
Zuletzt bearbeitet:
Moin,

habe die Funktion createThumbnail überarbeitet; Sie behält nun das Seitenverhältnis des Originalbildes bei den Thumbnails bei. Hier der Code:

PHP:
function createThumbnail($picture)
{
   $size = getimagesize("$picture");
   $height = '120'; // Ist fixed, kann aber angepasst werden
   $ratio = ($size[0] / $size[1]);
   $width = ($ratio * $height);
   $quelle = imagecreatefromjpeg("$picture");
   $ziel = imagecreatetruecolor($width,$height);
   imagecopyresized($ziel,$quelle,0,0,0,0,$width,$height,$size[0],$size[1]);
   $createthumbnail = imagejpeg($ziel, "thumb_$picture");
}
 
ok das ist eingebaut...
der nächste release soll noch gif, bmp und wenn möglich png bieten.
 
schau dir mal meinen Code an, da gibts sowas für gif, jpg und png. Beachte dass es sich dabei jedoch um GPL Code handelt.
 
Zurück
Oben