Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Lampenbauer
Threadersteller
Dabei seit: 22.09.2005
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.11.2005 11:47
Titel [php] Bildergallery |
|
|
Hallo Community,
ich habe folgendes Problem.
Ich bin noch ziemlicher Änfänger.
Ich bräuchte mal Eure Hilfe.
Ich habe zu einem dieses Script gefunden:
Script1:
Code: | 1 <?php
2
3 $PfadThumbnails="thumbnails/";
4 $PfadBilder="images/";
5 $AnzahlThumbnailsProZeile=3;
6
7 if($Verzeichniszeiger=opendir($PfadThumbnails))
8 {
9 $Table="<table border=\"0\" cellpadding=\"2\" cellspacing=\"5\"><tr>";
10 $i=0;
11 while($Datei=readdir($Verzeichniszeiger))
12 {
13 if(substr($PfadThumbnails.strtolower($Datei), -4)==".jpg" || substr($PfadThumbnails.strtolower($Datei), -5)==".jpeg" || substr(strtolower($PfadThumbnails.$Datei), -4)==".gif" || substr($PfadThumbnails.strtolower($Datei), -4)==".png")
14 {
15 $Bilddaten=getimagesize($PfadBilder.substr($Datei, 3));
16 $Bildbreite=$Bilddaten[0];
17 $Bildhoehe=$Bilddaten[1];
18 $Thumbnaildaten=getimagesize($PfadThumbnails.$Datei);
19 $Thumbnailbreite=$Thumbnaildaten[0];
20 $Thumbnailhoehe=$Thumbnaildaten[1];
21 if($i%$AnzahlThumbnailsProZeile==0 && $i!=0)
22 {
23 $Table.="</tr><tr>";
24 }
25 $Table.="<td><a href=\"javascript:GrafikAnzeigen('".$PfadBilder.substr($Datei, 3)."', '".$Bildbreite."', '".$Bildhoehe."');\"><img border=\"0\" height=\"".$Thumbnailhoehe."\" src=\"".$PfadThumbnails.$Datei."\" title=\"Zum Vergrößern aufs Foto klicken\" width=\"".$Thumbnailbreite."\"></a></td>";
26 $i++;
27 }
28 }
29 $Table.="</tr></table>";
30 closedir($Verzeichniszeiger);
31 }
32
33 ?>
34
35 <html>
36 <head>
37 <title>Grafik passend in einem PopUp Fenster öffnen (mit PHP)</title>
38 <script>
39 <!--
40
41 function GrafikAnzeigen(GrafikURL, Breite, Hoehe)
42 {
43 Fensteroptionen="toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0";
44
45 Grafikfenster=window.open("", "", Fensteroptionen + ',width=' + Breite + ',height=' + Hoehe);
46 Grafikfenster.focus();
47 Grafikfenster.document.open();
48 with(Grafikfenster)
49 {
50 document.write("<html><head>");
51 document.write("<title>Grafikanzeige</title>");
52 document.write("</head>");
53 document.write("<body leftmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" topmargin=\"0\">");
54 document.write("<img border=\"0\" onclick=\"window.close();\" src=\""+ GrafikURL +"\" title=\"Zum Schließen auf das Foto klicken\">");
55 document.write("</body></html>");
56 }
57 }
58
59 //-->
60 </script>
61 </head>
62 <body>
63
64 <?php
65
66 echo$Table;
67
68 ?>
69
70 </body>
71 </html> |
Und zum anderen dieses:
Script2:
Code: | <?
$PicPathIn="../bilder/";
$PicPathOut="../bilder/out/";
// Orginalbild
$bild="Foto.jpg";
// Bilddaten ermitteln
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=100;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==1) {
// GIF
$altesBild=ImageCreateFromGIF("$PicPathIn"."$bild");
$neuesBild=imageCreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
imageGIF($neuesBild,"$PicPathOut"."TN"."$bild");
}
if($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=imageCreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."TN"."$bild");
}
if($size[2]==3) {
// PNG
$altesBild=ImageCreateFromPNG("$PicPathIn"."$bild");
$neuesBild=imageCreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild,"$PicPathOut"."TN"."$bild");
}
echo "Altes Bild:<BR>";
echo "<IMG SRC=\"$PicPathIn$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\"><BR><BR>";
echo "Neues Bild:<BR>";
$Thumbnail=$PicPathOut."TN".$bild;
echo "<IMG SRC=\"$Thumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\">";
?> |
So nun zu meinem Problem!
Script eins ist für mich persönlich toll!
Denn man erstellt 2 Ordner lädt dort die Dateien rein und das Script macht den Rest.
Was mich aber stört ist die Thumbnails die er nimmt sind nicht irgendwie neu berechnet
sondern er schiebt die original Bilder einfach auf einen von mir angegebenen Pixel-Wert
zusammen. Sprich die Thumbnails sind genauso groß wie die originalen.
Script 2 ist dort anders es erstellt aus der originalen ein neu berechnetes Thumbnail.
Aber das war es dann auch schon.
Ich hatte versucht die beiden Scripte zu kombinieren aber bin durch mein Änfängersatus
gescheitert.
Könnt Ihr mir vielleicht helfen das ich eine Automatische Bildergallery habe wo ich nur
sagen muss in welchem Ordner die originalen liegen und er dann automatisch
Thumbnails daraus neu berechnet? Mit draufklicken das ein popup vom original kommt.
Also wie im ersten Script.
Ich hoffe ich habe alles verständlich erklärt?
Danke...
Zuletzt bearbeitet von Lampenbauer am Do 24.11.2005 11:48, insgesamt 1-mal bearbeitet
|
|
|
|
|
kaputt
Dabei seit: 08.05.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.11.2005 11:55
Titel
|
|
|
Es empfiehlt sich eigentlich nicht, zur Laufzeit die Bilder kleinrechnen zu lassen. Du solltest also entweder vorher mit einem Tool (irfanview oder so - kann auch nen ganzen Ordnerinhalt kleinrechnen usw...) die Thumbs erstellen, oder aber beim Upload (sofern der über ein PHP Script stattfindet). Das ist natürlich unpraktisch, aber naja :/
|
|
|
|
|
Anzeige
|
|
|
Lampenbauer
Threadersteller
Dabei seit: 22.09.2005
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.11.2005 12:38
Titel
|
|
|
Aber z.b. deviantart.com macht es doch auch so oder täusche ich mich?
|
|
|
|
|
kaputt
Dabei seit: 08.05.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.11.2005 16:26
Titel
|
|
|
Also ich musste da immer bis zu 3 verschieden große Versionen meiner Bilder hochladen. Habe ich aber auch schon länger nicht mehr getan. Also keine Ahnung, ob das immer noch so ist.
|
|
|
|
|
Lampenbauer
Threadersteller
Dabei seit: 22.09.2005
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.11.2005 17:15
Titel
|
|
|
Nein Du brauchst nur noch das Original Bild angeben.
|
|
|
|
|
13pixelchen
Account gelöscht
Ort: -
|
Verfasst Do 24.11.2005 17:21
Titel
|
|
|
Stichwort caching. Hier ist noch eins meiner scripte. Hochladen, Pfade einstellen, chmod, fertig.
Code: |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Quick Gallery</title>
<style type="text/css">
<!--
ul#galerie, ul#galerie li { margin: 0; padding: 0; list-style: none }
ul#galerie { padding: 20px 20px 20px 20px; width: 100%; overflow: hidden; } /* gesamt = Breite der maincol */
ul#galerie li {
float: left;
width: 100px;
height: 100px;
padding: 10px 10px 10px 10px;
margin: 1px;
border: 1px solid #BAC7D1;
}
ul#galerie li a {
margin: 0 auto 0 auto;
display: block;
text-decoration: none;
}
#cl {
position: absolute;
top: -200em; left: -500em; display: none; color: #fff;
}
#cl a:link, #cl a:visited { color: #fff; text-decoration: none; }
-->
</style>
</head>
<?php
/*
Quick Gallery (Copyright Mediendesign-schwarz.de) darf für frei verwendet werden.
Das erste ist der Ordner, in dem die Bilder liegen. Hier ist es das Domainstammverzeichnis.
Das zweite ist der Ordner, wo die Thumbs reingespeichert werden sollen. Es braucht chmod 777 (rwxrwxrwx).
Beides sind absolute Pfade, aber ohne führenden Schrägstrich.
*/
define(GALLERYFOLDER, '');
define(THUMBFOLDER, 'thumbs/');
function Thumb($sourcefile, $targetfile, $maxWidth, $maxHeight) {
$PicInfo = getimagesize($sourcefile);
if ($PicInfo[0] > $PicInfo[1]) { // maximale Abmessungen errechnen
$new_width = $maxWidth;
$new_height = floor(($new_width * $PicInfo[1]) / $PicInfo[0]);
} else {
$new_height = $maxHeight;
$new_width = floor(($new_height * $PicInfo[0]) / $PicInfo[1]);
}
$PicData = ImageCreateFromJPEG($sourcefile);
$PicDataResized = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($PicDataResized, $PicData, 0, 0, 0, 0, $new_width, $new_height, $PicInfo[0], $PicInfo[1]);
touch($targetfile);
ImageJPEG($PicDataResized, $targetfile, 65);
// header("Content-Type: image/jpg"); //Header manipulieren
//imagejpeg($PicDataResized); //Bild ausgeben
imagedestroy($PicDataResized);
imagedestroy($PicData);
}
// ********************************************************************* mach Gallery
$daten = '<ul id="galerie">';
$galeriepfad = $_SERVER['DOCUMENT_ROOT'].GALLERYFOLDER;
$galerieabsolutpfad = '/'.GALLERYFOLDER;
$thumbpfad = $_SERVER['DOCUMENT_ROOT'].THUMBFOLDER;
$thumbabsolutpfad = '/'.THUMBFOLDER;
if (!is_dir($galeriepfad)) { die('Galeriepfad existiert nicht'); } // existiert bildverzeichnis?
if (!is_dir($thumbpfad)) { die('Thumbpfad existiert nicht'); } // existiert bildverzeichnis?
$dh = @opendir($galeriepfad);
while (false !== ($file=readdir($dh)))
{
// $a = substr($file, 0, 2);
$b = substr($file, -3);
if ($b=='jpg') { // if (($b=='jpg') && ($a!='th')) { // Bilddatei, kein Thumb?
if (!file_exists($thumbpfad.'th_'.$file)) { Thumb($galeriepfad.$file, $thumbpfad.'th_'.$file, 100, 100); }
$daten .= '<li><a href="'.$galerieabsolutpfad.$file.'"><img src="'.$thumbabsolutpfad.'th_'.$file.'"></a></li>';
}
}
closedir($dh);
$daten .= '</ul>';
echo $daten;
?>
<div id="cl"><a href="http://www.mediendesign-schwarz.de">MedienDesign Schwarz in Bad Urach / Ermstal</a></div>
<body>
</body>
</html>
|
|
|
|
|
|
Lampenbauer
Threadersteller
Dabei seit: 22.09.2005
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.11.2005 17:53
Titel
|
|
|
13pixelchen hat geschrieben: | Stichwort caching. Hier ist noch eins meiner scripte. Hochladen, Pfade einstellen, chmod, fertig.
|
Ich werds mir heute Nacht mal anschauen.
Danke
|
|
|
|
|
|
|
|
Ähnliche Themen |
bildergallery dreamweaver
[SUCHE] PHP-Bildergallery
Bildergallery+Text + Uploader
Simple, gut anzupassende Bildergallery
freies PHP script bildergallery gesucht
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|