Thumbnails

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag 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)
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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.
Benutzeravatar
BrahmA
Mitglied
Beiträge: 2283
Registriert: 25.07.2002 13:31
Wohnort: Münsterland

Beitrag von BrahmA »

ok, das geht, aber das pop-up fenster ist noch zu klein.....

seht selbst: http://www.zeroworld.de/zeroworld/deig/ ... lerie.html
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Hast du denn die width und height angaben des popups auch mit den werten von getimagesize versehen?
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

also wie es aussieht hast du mit der getimagesize() variablen mist gebaut...

Code: Alles auswählen

width=288,height=2'
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...
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag 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..
Benutzeravatar
BrahmA
Mitglied
Beiträge: 2283
Registriert: 25.07.2002 13:31
Wohnort: Münsterland

Beitrag von BrahmA »

nene, stimmt schon, hab die falschen stellen des arrays angegeben! :oops:

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>&nbsp;&nbsp;|&nbsp;&nbsp;";
        else:
                echo '<a href="'.$PHP_SELF.'?geschrieben='.(($maxGrafik*$i)-$maxGrafik).'&dir='.$dir.'"><u>'.$i."</u></a>&nbsp;&nbsp;|&nbsp;&nbsp;";
        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....)
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag von Mungo »

stimmt. das mit den Thumbs hatte ich vergessen...

also ich würde es ohne den weißen Rand noch besser finden.
Benutzeravatar
BrahmA
Mitglied
Beiträge: 2283
Registriert: 25.07.2002 13:31
Wohnort: Münsterland

Beitrag von BrahmA »

ja, das ist aber erstmal nicht so wichtig!

außerdem hab ich keinen plan wie das gehen soll....:oops:
von java-script hab ich keinen plan, und das fällt soch darunter oder?
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Beitrag 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.
Antworten

Zurück zu „Coding & Technik“