Seite 2 von 2
Verfasst: 04.08.2003 13:26
von Mungo
ok...mit dem popup mach es so:
Code: Alles auswählen
<script type="text/javascript">
function popup(bildlink,w,h){
win = window.open("","Pictures","toolbar=no,location=no,menubar=no,scrollbars=no,width="+w+",height="+h+",resizeable=yes,status=no");
win.document.open();
win.document.writeln("<html><head><style type=\"text/css\">");
win.document.writeln("<!--");
win.document.writeln("body { margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0px }");
win.document.writeln("--></style><title>Bilder</title>");
win.document.writeln("</head><body><img src=\""+bildlink+"\" border=\"0\">");
win.document.focus();
}
</script>
und jetzt den Link für das Bild:
Code: Alles auswählen
<a href="javascript:popup('[color=red]Pfad zum BILD[/color]',[color=red]Breite des "großen" Bilds[/color],[color=red]Höhe des "großen" Bilds[/color]);">
wie sieht es mit dem Problem aus?
Warning: getimagesize: Unable to open 'Pict0002.JPG' for reading. in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
funktzt das jetzt?
und das Verzeichnis "Fotos" ist auf chmod 755?
(wegen dem Popup kannst dir mal unter
http://www.mungo.org/gallery.php ansehn)
Verfasst: 04.08.2003 18:01
von Pyramide
Im Code für das Popup verwendest du $dir.'/'.$file, also solltest du getimagesize vielleicht auch so aufrufen und nicht nur mit $file.
Verfasst: 04.08.2003 20:45
von BrahmA
ok, das geht, aber das pop-up fenster ist noch zu klein.....
seht selbst:
http://www.zeroworld.de/zeroworld/deig/ ... lerie.html
Verfasst: 04.08.2003 20:57
von Pyramide
Hast du denn die width und height angaben des popups auch mit den werten von getimagesize versehen?
Verfasst: 04.08.2003 22:31
von Mungo
also wie es aussieht hast du mit der getimagesize() variablen mist gebaut...
da dein bild bestimmt nicht 2px hoch sein soll oder?
$image_bla = getimagesize($bild);
$image_bla[0] ist die Breite
$image_bla[1] ist die Höhe
$image_bla[2] ist das Format (also jpg,gif,png,swf)
$image_bla[3] gibt "width=breite height=höhe"
ich denke du hast für WIDTH $image_bla[1] und für HEIGHT $image_bla[2] verwendet...
dann musst du noch beachten, dass man im popup immer einen Rand hat, d.h. das Popup kann nicht genau so groß sein wie das Bild. Daher hab ich oben auch die Funktion geschrieben, da wird der rand mit marginheight=0 usw. entfernt...
Verfasst: 04.08.2003 22:39
von Mungo
ach..
hast du auch getimagesize() vom "großen" Bild gemacht und nicht vom Thumbnail, da das Bild noch kleiner als das Thumbnail ist...
vielleicht wird es auch nur vom Popup automatisch verkleinert, dann ist das was jetzt weiß ist, der Rand von dem ich oben gesprochen habe..
Verfasst: 05.08.2003 10:09
von BrahmA
nene, stimmt schon, hab die falschen stellen des arrays angegeben!
jetzt gehts auf jeden fall!
Für alle dies interessiert: der
link
und hier der komplette source:
Code: Alles auswählen
<?
/* ******************************************************************** **
Einbindung
Du kannst den html Quellecode drum herum komplett umändern etc.
Aufgerufen wird das Programm so:
deineadresse/thumbnails.php?dir=dasverzeichnissdasausgelesenwerdensoll
Wenn Du ?dir= nicht übergibst, wird der default Pfad genommen,
diesen kannst Du in den Einstellungen ($dir) definieren. Am Ende
niemals einen / angeben, sonst funktioniert das Programm nicht.
In den Einstellungen kannst Du auch noch andere Dinge einstellen,
aber diese sind dort extra beschrieben !!
** ******************************************************************** */
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Bildergalerie</title>
</head>
<body background="../Pix/blaue_lamellen.gif" text="#FFFFFF" style="font-family: 'Comic Sans MS';" link="#008080" vlink="#FF0000" alink="#FFFFFF">
<center>
<?
/************* Einstellungen *************/
# Verzeichniss das ausgelesen werden soll
# am ende OHNE / !!
if(!$dir):
$dir="bilder";
endif;
# Wieviele Spalten sollen angezeigt werden
$anzahlSpalten=6;
# Maximale Grafikbreite
$maxBreite=100;
# Maximale Grafikanzahl auf einer Seite
$maxGrafik=18;
# welche Dateien sollen angezeigt werden
# getrennt durch ein ,
$dateiendung="gif,jpg,JPG,GIF";
$dateiendung=split(",",$dateiendung);
/*********** Programmablauf ***********/
$handle=opendir($dir);
$j=0;
$count=0;
echo '
<table cellspacing="0" cellpadding="5" border="0">
<tr>
';
while($file=readdir($handle)):
$fileendung=explode(".",$file);
for($i=0;$i<sizeof($dateiendung);$i++):
if($fileendung[1]==$dateiendung[$i]):
if($count<($maxGrafik+$geschrieben) and $count>=$geschrieben):
$info = getimagesize($dir.'/'.$file);
# Datei wird ausgegeben
echo '
<td>
<a href="#" onClick="window.open(\''.$dir.'/'.$file.'\',\'open\',\'toolbar=no,scrollbars=no,status=no,locationbar=no,personalbar=no,menubar=no,width='.$info[0].',height='.$info[1].'\')"><img src="'.$dir.'/'.$file.'" width="'.$maxBreite.'" border="0" alt="'.$file.'"></a>
</td>
';
$j++;
endif;
$count++;
if($j==$anzahlSpalten):
echo '</tr><tr>';
$j=0;
endif;
$anzahl++;
continue(1);
endif;
endfor;
endwhile;
echo '
</tr>
</table>
';
echo "<hr>Seiten:<br>";
$anzSeiten=(round($anzahl/$maxGrafik+0.5))+1;
for($i=1;$i<$anzSeiten;$i++):
# Seitenzahlen werden ausgegeben
if(($i*$maxGrafik)==($geschrieben+$maxGrafik)):
echo '<b>'.$i."</b> | ";
else:
echo '<a href="'.$PHP_SELF.'?geschrieben='.(($maxGrafik*$i)-$maxGrafik).'&dir='.$dir.'"><u>'.$i."</u></a> | ";
endif;
endfor;
closedir($handle);
?>
<a href="body_bildergalerie.html">zurück zur Übersicht</a>
</center>
</body>
</html>
An Alle die für mich gedacht haben, ein herzliches
Dankeschön!
@Mungo: er existieren keine thumbnails, das script erstellt aus den normalen Bildern im Verzeichnis die thumbs (spart arbeit, kostet aber Traffic....)
Verfasst: 05.08.2003 10:35
von Mungo
stimmt. das mit den Thumbs hatte ich vergessen...
also ich würde es ohne den weißen Rand noch besser finden.
Verfasst: 05.08.2003 11:50
von BrahmA
ja, das ist aber erstmal nicht so wichtig!
außerdem hab ich keinen plan wie das gehen soll....

von java-script hab ich keinen plan, und das fällt soch darunter oder?
Verfasst: 05.08.2003 12:01
von Mungo
Code: Alles auswählen
<script type="text/javascript">
function popup(bildlink,w,h){
win = window.open("","Pictures","toolbar=no,location=no,menubar=no,scrollbars=no,width="+w+",height="+h+",resizeable=yes,status=no");
win.document.open();
win.document.writeln("<html><head><style type=\"text/css\">");
win.document.writeln("<!--");
[color=red]win.document.writeln("body { margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0px }");[/color]
win.document.writeln("--></style><title>Bilder</title>");
win.document.writeln("</head><body><img src=\""+bildlink+"\" border=\"0\">");
win.document.focus();
}
</script>
und jetzt den Link für das Bild:
Code: Alles auswählen
<a href="javascript:popup('[color=red]Pfad zum BILD[/color]',[color=red]Breite des "großen" Bilds[/color],[color=red]Höhe des "großen" Bilds[/color]);">
also entweder so...die rote Zeile lässt den Rand verschwinden
oder
mach halt ne php-Datei die das Bild im Popup anzeigt. In der kannst du dann auch mit marginheight=0,usw. den Rans ausschalten.