Foto album - jGallery

Gepost door Joost Kooijman op 17-10-2009 13:18.

Nieuwer versie, meertalig!

Online browsen door foto albums. Template gebaseerd op Nautilus, de gnome file manager.
Update: Instellingen d.m.v. *.ini files & nieuw thema toegevoegd!

Naam: jGallery2
Versie: RC4
Taal: Nederlands, Engels, Duits
Filesize: 132.6kb
Download: http://www.jgallery.nl/?t=7
Demo: http://feedle.nl/jgallery

De huidige versie is betiteld als release candidate 3 omdat ik 'm eigenlijk nog wil uitbreiden met verschillende functies. Desondanks is dit een stabiel script met veel mogelijkheden.

Door middel van een simpele include (2 regels) kun je jGallery laten weergeven in een bestaande website. Met een uitbreiding van optionele definities pas je het meeste aan. (engelstalige documentatie op de website: http://www.jgallery.nl/?t=28 )

Er is nog maar een standaard template, maar die is makkelijk aan te passen d.m.v. CSS en HTML in *.tpl bestanden (ongeveer net als phpBB2 werkt). Template images (folder background) kunnen vervangen worden door je eigen afbeeldingen.

Met een simpele "installatie-wizard" installeer je het script in een paar muisklikken. Bestandsbeheer gaat m.b.v. TileThingie.

Downloaden: http://www.jgallery.nl/?t=7

Bestanden van dit script

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php 
/*
    Het is nogal een uitgebreid script, vandaar dat
    ik het hier niet post.

    Je kunt jGallery.zip downloaden op:
    http://www.jgallery.nl/?t=7
*/


// Code to include jGallery2 in a PHP site
define( 'JGALL_INC_PATH' , 'jGallery2/' ); 
include( JGALL_INC_PATH . 'index.php' );
?>

Commentaar

17-03-2007 20:57

Voor het gemak; naar het nederlands vertaald:

Wijzig de language configuration regels in config.inc.php naar de volgende

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
// -----------------------------------------------------------------------------------
// Language configuration section
// -----------------------------------------------------------------------------------
    
    
    // Set text to indicate 'title' in html header.
    $C_JGALL['lang_title'] = 'Fotoalbum';
    
    
    // Set text to indicate 'Location' in top-menu bar.
    $C_JGALL['lang_location'] = 'Locatie';
    
    
    // Set text to indicate 'main folder' in top menu bar.
    $C_JGALL['lang_mainfolder'] = 'Albums';
    
    
    // Set text to indicate 'home button alt' in top menu bar.
    $C_JGALL['lang_home'] = 'Je bent in ' . $C_JGALL['lang_mainfolder'] . '/';
    
    
    // Set text to indicate 'go home button alt' in top menu bar.
    $C_JGALL['lang_gohome'] = 'Ga terug naar ' . $C_JGALL['lang_mainfolder'] . '/';
    
    
    // Set text to indicate 'up button alt' in top menu bar.
    $C_JGALL['lang_up'] = 'Je bent in de bovenste map';
    
    
    // Set text to indicate 'go up button alt' in top menu bar.
    $C_JGALL['lang_goup'] = 'Ga naar hoger gelegen map';
    
    
    // Set text to indicate 'refresh button alt' in top menu bar.
    $C_JGALL['lang_refresh'] = 'Vernieuw deze pagina';
    
    
    // Set text to indicate 'image thumb alt' in gallery.
    $C_JGALL['lang_clickview'] = 'Klik om deze afbeelding te bekijken';
    
    
    // Set text to indicate 'directory thumb alt' in gallery.
    $C_JGALL['lang_opendir'] = 'Klik om deze map te openen';
    
    
    // Set text to indicate 'image alt' when viewing image.
    // only when $C_JGALL['gall_link2source'] is set to 'y'
    $C_JGALL['lang_downloadimage'] = 'Klik om deze afbeelding te downloaden';
    
    
    // Set text to indicate 'first' in bottom border (page links).
    $C_JGALL['lang_first'] = 'eerste';
    
    
    // Set text to indicate 'previous' in bottom border (page links).
    $C_JGALL['lang_prev'] = 'vorige';
    
    
    // Set text to indicate 'image info' in bottom border (page links).
    // Switches {CURRENT} for current image and {TOTAL} for total images
    $C_JGALL['lang_imageinfo'] = 'afbeelding {CURRENT} van {TOTAL}';
    
    
    // Set text to indicate 'next' in bottom border (page links).
    $C_JGALL['lang_next'] = 'volgende';
    
    
    // Set text to indicate 'last' in bottom border (page links).
    $C_JGALL['lang_last'] = 'laatste';
    
    
    // Set text to indicate 'empty dir message' when dir is empty.
    $C_JGALL['lang_emptydir'] = 'Sorry, er zijn geen afbeeldingen in deze map!';
    
    
// --> END Languge configuration section
// -----------------------------------------------------------------------------------



// --> END
?>
18-03-2007 09:31

Ziet er goed uit, maar ik heb de scripting nog niet bekeken. Waar ik me wel aan erger is dat de next/prev-links ONDER de foto staan. Dan verspringen ze namelijk als de foto een ander formaat heeft.

Deze links ook aan de bovenkant lost dit probleem op.

1
Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding.
18-03-2007 09:35

Joost, dit is nou echt zo'n webhebbie die je gewoon moet hebben ;0) netjes gemaakt, werkt ineens. Ga zo door!

1
<? php echo 'netjes gemaakt!'; ?>
18-03-2007 09:41

hmm... er zit een klein bugje in denk ik, gif en png worden niet gesupport als thumb en worden niet weergegeven.

1
<?$C_JGALL['extentions'] = "jpg|jpeg|gif|png"; ?>
18-03-2007 10:34

Sja... ik kan next-prev er ook boven paatsen en de breadcrumb er onder... Lijkt je dat beter?

1
<? bla ?>
18-03-2007 10:39

Bij mij werkt het gewoon wel met zowal gif als png. Alleen op mijn local host niet met png... Ik weet niet of het aan het script ligt maar als je meer weet laat het weten!

En ohja... thnx man!!! Kon niet meer eer van m'n werk verwachten dan die opmerking van jou... (o: LoL

1
<? ... ?>
18-03-2007 10:54

Ik heb even een test online gezet, weet al wat het probleem was waarom ik geen gifje kon bekijken. de bestandsnaam was te lang en stonden %-en in en dan werkt het niet.

png werkt idd niet locaal.

linkje online http://barts.homedns.org/jGallery/

1
2
3
Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding. 

Let op! Het is niet de bedoeling om hier een link naar je website te plaatsen. Post hier gewoon de code, veel simpeler, sneller en meer kans dat het blijft staan.
18-03-2007 11:09

Misschien toch handig om voor update ook te kijken naar urlencode() dan...

Ik kan je voorbeeld niet bekijken... "De webpagina kan niet worden weergegeven". Jammer dan...

1
<? urlencode($filename); ?>
20-03-2007 19:17

Geweldig script Joost, ga ik gebruiken in mn CMS-systeem.

Bedankt,
grz. Joe.

1
.
22-03-2007 09:27

Vermeld hier alle zaken betreffende valkuilen, handige informatie, (installatie-)instructies e.d.

1
Het lijkt mij verstandig als je de src code van je script hier post. Nu staat het script nog netjes op je server maar is dat over 1a2 jaar nog steeds zo? de kans is groot van niet en dan hebben wij er dus niks meer aan.
24-03-2007 20:09

Omdat ik nog aan het updaten ben post ik de code nog even niet, anders kan ik 'm blijven aanpassen.
Als het niet meer actueel is zal ik de bron hier dumpen...
thnx

1
<? ?>
24-03-2007 23:07

Vermeld hier alle zaken betreffende valkuilen, handige informatie, (installatie-)instructies e.d.

1
2
3
Geinig script. Geen poespas, snel te installeren.
Ik mis wel de mogelijkheid om van de geuploade foto's thumbnails te maken. Ja, deze worden on the fly gegenereerd bij het openen van een pagina. Nu moet echter de server telkens bij iedere bezoeker al die foto's verkleinen.
Is het wellicht een optie om bij de eerste aanroep van een pagina te kijken of er thumbnails bestaan, zo niet, deze te genereren? Dit scheelt veel rekenkracht en geheugen op je server. Zeker bij de beter bezochte fotopagina scheelt dit veel. Ik gebruik je script met relatief grote foto's en daarbij merk ik dat het trager wordt. Evenzo voor de mid-size foto's
24-03-2007 23:30

Daar heb je gelijk in Joris. Nu weet ik er het fijne niet van... Maar betekent dat dan dat je een map moet chmodden zodat schrijven in die map mogelijk is...

Ik zal het in mijn achterhoofd houden (had ik al), maar wat nu juist mijn idee was was om het zo te maken dat zelfs mijn opa het nog voor elkaar krijgt om een foto-album neer te zetten.

Ik houd het in gedachten... thnx

1
2
3
<?
// Fawang!
?>
25-03-2007 11:13

Vermeld hier alle zaken betreffende valkuilen, handige informatie, (installatie-)instructies e.d.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Onderstaand 2 links naar scripts die je hier voor zou kunnen gebruiken. In ieder geval als voorbeeld.
Auto tumbnail creator 
http://www.phpfreakz.nl/library.php?sid=17692

compleet script
http://www.phpfreakz.nl/library.php?sid=17690

Wat je in feite doet is bij de aanroep van het album kijken per foto of er map met thumbnails bestaat. Zo niet, dan maak je die mkdir().
Vervolgens kijk je bij iedere foto of er in de thumbnailmap een thumb staat voor de foto.
Als je het op deze manier doet kan je ook foto's toevoegen aan je foto-map.

Maak je het helemaal top dan maak je ergens een update-knop die gaat kijken of er thumbnails bestaan die niet meer gelinkt zijn aan foto's die kun je verwijderen.

Als je het script de mappen aan laat maken houdt je het zo simpel mogelijk.

Uiteraard geldt voor de jGallery hetzelfde voor de mid-size foto's

Als je een map aanmaakt met het script is het script eigenaar van de map en heb je automatisch lees en schrijf rechten. Dan kan je als ik me niet vergis volstaan met CHMOD('dir',0644) Dan heeft het script lees en schrijfrechten. In de voorbeelden die ik geef maken ze er gebruik van. Daar kan je het kunstje afkijken
25-03-2007 14:06

Het is zeker een functie die ik er in ga maken!

Ik vraag me alleen wel af hoe dit zal werken als je een beetje zit te spelen met de grootte van je thumbs. Als de grootte opnieuw wordt ingesteld maakt ie opnieuw thumbs aan voor die grootte. Het zal best een ingewikkelde loop worden bij elke pagina-aarroep.

Het zou ook handig zijn als het onderhoud vanzelf verloopt, dus weer bij elke pagina aanroep alles nalopen of er geen thumbs bestaan waar geen origineel meer van is of waarvan de maat niet overeenkomt met ingestelde thumb-size.

Ik vraag me toch af of mkdir('dir' 0777) wel werkt, omdat de map waarin je een dir wilt aanmaken toch ook goed gechmod moet zijn? Maar dat zie ik tzt wel...

Ik heb in ieder geval wat aan je links gehad! thnx!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
while(readdir=$file)
{
   getimagesize($file)
   if(file_exists)
   {
      if(size == thumbsize)
      {
         show_image();
      } else {
         // replace
         createimage();
      }
   } else {
      createimage();
   }
}
?>
30-04-2007 02:37

Ik heb wellicht een oplossing voor je thumb-pagina. Je maakt nu thumbs door de afbeeldingen te verkleinen. JPG-afbeelding hebben in hun zogeheten EXIF-tag al een thumbnail paraat.
Zie voor meer informatie http://nl3.php.net/manual/en/function.exif-thumbnail.php

Onderstaand een kleine bewerking van een stukje code in een comment op die pagina. Voordeel van deze methode is dat de hoogte en breedte variabel zijn.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(is_file($pic))
 {
  $image = exif_thumbnail($pic, $width, $height, $type);
 }
else
 {
  $image = false;
 }
if ($image!==false)
 {
  header('Content-type: ' .image_type_to_mime_type($type));
  echo $image;
  exit;
 }
else
 {
  // no thumbnail available, handle the error here
  echo 'No thumbnail available';
 }
?>
13-05-2007 10:42

Vermeld hier alle zaken betreffende valkuilen, handige informatie, (installatie-)instructies e.d.

1
2
3
is er, of kan er komen, een optie om een onderschrift bij de foto te plaatsen.

of dat je de fotonaam in beeld krijgt en de fotonaam het onderschrift maakt???
05-06-2007 10:57

Ik heb het fotoalbum gebruikt, en het is echt heel makkelijk te installeren en te gebruiken. Alleen loopt het script erg traag. Ik moet eigenlijk voor ieder album een nieuw fotoalbum uploaden, want als ik 10 verschillende albums maak dan werkt het script zo langzaam dat alle foto's kruisjes krijgen. Weet iemand hoe dit komt? Alvast bedankt !

1
2
3
Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding. 

Let op! Het is niet de bedoeling om hier een link naar je website te plaatsen. Post hier gewoon de code, veel simpeler, sneller en meer kans dat het blijft staan.
26-06-2007 12:57

Is het ook mogelijk om hem als include te gebruiken maar dan gelijk naar een album te laten gaan? ik heb bv meerdere albums (in mappen staan en wil bv met een include direcht naar het album verjaardag.
De map heet verjaardag
Wat wordt dan de include?

1
2
3
Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding. 

Let op! Het is niet de bedoeling om hier een link naar je website te plaatsen. Post hier gewoon de code, veel simpeler, sneller en meer kans dat het blijft staan.
08-02-2008 23:27

Ik heb dit mooie script je ff op mijn linux bakje draaien, aleen werkt de thumbs funtie niet.
De foldertjes zijn leeg zeg maar, als ik dan op foto (leeg vierkantje) klik dan zie ik het plaatje wel.

kan iemand me helpen?

1
2
3
Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding. 

Let op! Het is niet de bedoeling om hier een link naar je website te plaatsen. Post hier gewoon de code, veel simpeler, sneller en meer kans dat het blijft staan.
Inloggen wachtwoord vergeten? Aanmelden