Seite 1 von 2
Thumbnails
Verfasst: 03.08.2003 16:58
von BrahmA
Ich habe ein php-funktion für thumbnails, bei der beim anklicken des Bildes ein neues Fenster aufgeht und das große Bild anzeigt! Allerdings mach der das im Vollbild.....
Wie muß ich folgenden Code ändern/erweitern damit das aufgehende Fenster nur so groß ist wie das Bild?
Code: Alles auswählen
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):
# 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\')"><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;
Schon mal Danke!
Verfasst: 03.08.2003 23:37
von biototo
Besorg dir mit der
PHP-Funkiotn getimagesize() die Grösse des Bildes in Pixeln und dann schreibste das in das window.open() des Javascript teils rein, das sollte dann funktionieren, zur Sicherheit würde ich das noch in den <img<-Tag einbinden height="xx" und width="xx". Kannst ja mal bescheid geben, ob das so funktioniert hat, dann merk ich mir das für die Zukunft

, das wäre nett, danke.
Verfasst: 04.08.2003 10:50
von BrahmA
ja schön und gut, aber ich erhalte das:
Code: Alles auswählen
Warning: Unable to access syl220.jpg in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
Warning: getimagesize: Unable to open 'syl220.jpg' for reading. in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
Warning: Unable to access syl221.jpg in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
Warning: getimagesize: Unable to open 'syl221.jpg' for reading. in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
hier meine änderungen:
Code: Alles auswählen
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($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\')"><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;
aber das ist noch nicht alles:
getimagesize() gibt ja als info auch den fertigen HTML_tag aud, also height=xxx width=xxx, nur wie binde ich das in das javascipt-gesocks ein?
in das image-tag kann ich das nicht integrieren, weil das ja das thumbnail ist und schon die größenangabe weiter oben im script angegeben wurde ($maxBreite)......
Verfasst: 04.08.2003 11:11
von Mungo
-=BrahmA=- hat geschrieben:ja schön und gut, aber ich erhalte das:
Code: Alles auswählen
Warning: Unable to access syl220.jpg in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
Warning: getimagesize: Unable to open 'syl220.jpg' for reading. in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
Warning: Unable to access syl221.jpg in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
Warning: getimagesize: Unable to open 'syl221.jpg' for reading. in /home/www/web1/html/zeroworld/deig/Fotos/Bildergalerie.php on line 70
also da musst du glaub ich dem verzeichnis chmod 755 geben.
Verfasst: 04.08.2003 11:19
von Mungo
ach das zweite prob...
-=BrahmA=- hat geschrieben:
hier meine änderungen:
Code: Alles auswählen
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($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\')"><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;
aber das ist noch nicht alles:
getimagesize() gibt ja als info auch den fertigen HTML_tag aud, also height=xxx width=xxx, nur wie binde ich das in das javascipt-gesocks ein?
in das image-tag kann ich das nicht integrieren, weil das ja das thumbnail ist und schon die größenangabe weiter oben im script angegeben wurde ($maxBreite)......
hm für die fenstergröße würd ich das so machen:
Code: Alles auswählen
$info = getimagesize($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[1].',height='.$info[2].'\')"><img src="'.$dir.'/'.$file.'" width="'.$maxBreite.'" border="0" alt="'.$file.'"></a>
</td>
';
Verfasst: 04.08.2003 11:31
von BrahmA
hm, naja, ich hab dem verzeichnis jetzt die rechte 777 gegeben, und das hilft net!
und das pop-up ist immer noch volle fenstergröße......
sonst noch ideen?
wer will kanns sich ansehen unter
http://www.zeroworld.de/zeroworld/deig/ ... lerie.html
Verfasst: 04.08.2003 11:51
von Mungo
hsat du dem verzeichnis (mit den "großen" Bilder) und dem Verzeichnis (mit den Thumbnails) chmod 777 gegeben?
Verfasst: 04.08.2003 12:01
von biototo
-=BrahmA=- hat geschrieben:hm, naja, ich hab dem verzeichnis jetzt die rechte 777 gegeben, und das hilft net!
und das pop-up ist immer noch volle fenstergröße......
sonst noch ideen?
wer will kanns sich ansehen unter
http://www.zeroworld.de/zeroworld/deig/ ... lerie.html
Ich hab noch eine Idee, check mal in der phpinfo() den Grafiksupport.
Bei mir sieht das so aus :
gd
GD Support enabled
GD Version bundled (2.0.12 compatible)
FreeType Support enabled
FreeType Linkage with TTF library
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
Verfasst: 04.08.2003 12:10
von Mungo
soweit ich weiß braucht getimagesize() keine extra bib...
ich hab hier mal ne altes script von mir versuchs mal damit....
Code: Alles auswählen
<?php
$path = " "; //Pfad zu den "großen" Bildern
$thumbpath = " "; // Pfad zu den Thumbnails
$rowpics = 6; //Wieviele Spalten in deiner Gallerie sein sollen
$gallerytitle = "blabla"; //ne Überschrift
function getFiles($path) {
$result = false;
$directory = opendir($path);
if($directory) {
while ($file = readdir($directory)) {
if (eregi("(\.gif)|(\.jpg)|(\.jpeg)|(\.png)$", $file)) {
$result[] = $file;
}
}
closedir($directory);
}
return $result;
}
$files = getFiles($thumbpath);
?>
<html>
<body>
<div align="center">
<table border="1">
<tr>
<th colspan="<?=$rowpics?>"><b><?=$gallerytitle?></b></th>
</tr>
<tr>
<?php
if (is_array($files)) {
natsort($files);
$size = sizeof($files);
$spaces = ($rowpics*ceil($size/$rowpics))-$size;
foreach($files as $file) {
if($imagenumber == $rowpics) {
printf ("</tr>\n <tr>\n ");
$imagenumber = 0;
}
$imageproperties = getimagesize($thumbpath.$file);
?>
<td align="center" valign="middle"><a href="<?=$path?><?=$file?>"><img src="<?=$thumbpath?><?=$file?>" border="0" <?=$imageproperties[3]?> ></a></td>
<?php
$imagenumber++;
}
for ($x=0;$x<$spaces;$x++) {
?>
<td align="center" valign="middle"> </td>
<?php
}
}
?>
</tr>
</table>
Verfasst: 04.08.2003 12:47
von BrahmA
getimagesize() braucht keine gd....
@ mungo: danke für das script, aber das ist nicht ganz so komfortabel wie meins!
ich muß bei meinem keine extra thumbnails erstellen, ich kopiere einfach die normalen bilder auf den space, rufe die thumbnail.php auf und übergebe das passende verzeichnis, also z.B. /Bilder/thumbnail.php?dir=phpBB-Bilder
und das script erstellt eine seite mit den thumnails, die man anklicken kann und es geht per pop-up das eigentliche bild auf, leider nur in einem vollbild-fenster.
und ich möchte jetzt, das das pop-up genauso groß ist wie das bild.....