Antworten auf deine Fragen:
Neues Thema erstellen

Galerie in PHP, JavaScript... Ausgabe Probleme

Tach zusammen,
ich hab mir ein PHP Code umgeschrieben, den ich im Web gefunden habe, eigentlich hab ich nur den Aufbau versucht zu ändern.
Der Aufbau ist nun so wie ich es gerne hätte, nur das die Ausgabe der Bilder/Tabelle wird nicht so ausgegeben wie ich es gern hätte.

Hier im Bild seht ihr das Menü und mein Mainbereich, wie ihr sehen könnt besteht der Mainbereich aus einer größen Bildervorschau, ExIF Ausgaben und eine kleinere Miniaturvorschau der Galerie.
Die jeweils über die "(<<)linke" und "rechte(>>)" links weiter bzw. zurück steuern läst.
Naja das ist ja klar xD.

Mein Problem ist, dass ich keine Saubere Ausgabe hinbekomme, denn je mehr Bilder sich im Ordner befinden, desto mehr Tabellen bilden sich untereinander -.-' .Ich würde gerne nur eine Tabelle mit der Vorschau, Bild und EXIF Datenausgabe, sowie die Scroll Funktion der Miniaturvorschau.

Kann mir jemand da helfen? Ich hoffe ihr versteht mich und mein Problem.

[IMG=http://img149.imageshack.us/img149/131/screenvv.jpg][/IMG]

Uploaded with


Uploaded with


Und hier ist noch der PHP/JavaScript Code:
Code:
<?php
/*--------------    ----------------------------\
| vorschau.php by Dr. Thomas Meinike 01/03  |
| Demonstration der EXIF-Funktionen von PHP |
\------------------------------------------*/
?>

<script language="JavaScript" type="text/javascript">
<!--";

function ZeigeBild(bildname)
{
  var ref,parameter,dateiname,htmlcode,b=324,h=484;

  dateiname=bildname.substring(bildname.indexOf("/")+1,bildname.length);

  htmlcode="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
  htmlcode+="<html style=\"height: 100%\">\n<head>\n<title>"+dateiname+"<\/title>\n";
  htmlcode+="<\/head>\n<body style=\"margin: 0; padding: 0; height: 100%\">\n";
  htmlcode+="<img src=\""+bildname+"\" width=\"100%\" height=\"100%\" alt=\""+bildname+"\" title=\"[Mausklick schlie&szlig;t Fenster!]\" onclick=\"window.close()\">\n<\/body>\n<\/html>\n";

  parameter="width="+b+",height="+h+",screenX="+(screen.width-b)/2+",screenY="+(screen.height-h)/2+",left="+(screen.width-b)/2+",top="+(screen.height-h)/2;

  //ref=window.open("","bildfenster",parameter);
  ref.document.open("text/html");
  ref.document.write(htmlcode);
  ref.document.close();
  ref.focus();
}
function MainBildauswahlen(vorschau)
{
}
//-->
</script>

    <?php
        //Variablen werden eingefügt um eine Saubere/Fehlerfreie Ausgabe zu ermöglichen, wieso die Variablen ab Zeile 74 vorher erstellen muss, weiß ich nicht -.-
        include_once 'php/variabl.php';
        
        /*
        Hinweis:
        Das Unterverzeichnis bilder enthaelt die Original-Bilder,
        im Unterverzeichnis vorschau werden die Thumbnails abgelegt.
        */


        // PHP-Version ermitteln
        $verstr=explode(".",phpversion());
        $vernum=$verstr[0]*100+$verstr[1]*10+$verstr[2]*1;

        //Pfad der Originalen Bilder
        $bilder_verzeichnis="bilder";
        //Pfad der Vorschau Bilder
        $vorschau_verzeichnis="vorschau";

        //Öffnenet den Pfad Originalen Bilder 
        $verz=opendir($bilder_verzeichnis);
        while($datei=readdir($verz))
        {
            if($datei != "." && $datei != "..")
            {
                $bild=$bilder_verzeichnis."/".$datei;

                if($vernum >= 420)
                {
                    // Daten aus den Bildern auslesen
                    $exifdata=exif_read_data($bild,"",true,false);
                    date_default_timezone_set('UTC');
                    
                    if($exifdata["FILE"]["FileName"])$dateiname=$exifdata["FILE"]["FileName"];
                    if($exifdata["FILE"]["FileDateTime"])$FileDateTime=$exifdata["FILE"]["FileDateTime"];
                    if($exifdata["FILE"]["FileSize"])$dateigroesse=$exifdata["FILE"]["FileSize"];
                    if($exifdata["FILE"]["FileDateTime"])$dateidatumzeit=date("d.m.Y – H:i:s", $exifdata["FILE"]["FileDateTime"]);
                    if($exifdata["EXIF"]["ExifImageWidth"])$breite=$exifdata["EXIF"]["ExifImageWidth"];
                    if($exifdata["EXIF"]["ExifImageLength"])$hoehe=$exifdata["EXIF"]["ExifImageLength"];
                    if($exifdata["COMPUTED"]["IsColor"])$farbe=$exifdata["COMPUTED"]["IsColor"]; 
                    if($exifdata["COMPUTED"]["ApertureFNumber"])$AFNummer=$exifdata["COMPUTED"]["ApertureFNumber"]; 
                    if($exifdata["EXIF"]["Flash"])$blitz=$exifdata["EXIF"]["Flash"];
                    if($exifdata["IFD0"]["Orientation"])$orientierung=$exifdata["IFD0"]["Orientation"];
                    if($exifdata["IFD0"]["Model"])$make=$exifdata["IFD0"]["Model"];
                    if($exifdata["EXIF"]["ISOSpeedRatings"])$iso=$exifdata["EXIF"]["ISOSpeedRatings"];
                    if($exifdata["EXIF"]["FNumber"])$fnumber=$exifdata["EXIF"]["FNumber"];
                    if($exifdata["EXIF"]["ExposureTime"])$ex_tim=$exifdata["EXIF"]["ExposureTime"];
                    //Keine Ausgabe, hab sie nur vorher hier hinzugefügt, wenn ich weitere EXIF Daten auslesen möchte
                    //  if($exifdata["EXIF"][""])$=exifdata["EXIF"][""];
                    //  if($exifdata["EXIF"][""])$=exifdata["EXIF"][""];
                    
                    if($exifdata["EXIF"]["DateTimeOriginal"])
                    {
                        $datumzeit=explode(" ",$exifdata["EXIF"]["DateTimeOriginal"]);
                        $aufnamezeit=$datumzeit[1];
                        $aufnamedatum=explode(":",$datumzeit[0]);
                        $aufnamedatumzeit=$aufnamedatum[2].".".$aufnamedatum[1].".".$aufnamedatum[0]." </br> ".$aufnamezeit."</br>";
                    }
      
                    else $aufnamedatumzeit="";

                    // Vorschaubild holen
                    $vorschau=exif_thumbnail($bild);
                }

                if($vernum < 420 && $vernum >= 401)
                    {
                        $exifdata=read_exif_data($bild);
                        //– = gedankenstrich 
                        // Daten aus den Bildern auslesen
                        if($exifdata["FileName"])$dateiname=$exifdata["FileName"];
                        if($exifdata["FileSize"])$dateigroesse=$exifdata["FileSize"];
                        if($exifdata["FileDateTime"])$dateidatumzeit=date("d.m.YYYY – H:i:s",$exifdata["FileDateTime"]);
                        if($exifdata["DateTime"])
                            {
                                $datumzeit=explode(" ",$exifdata["DateTime"]);
                                $aufnamezeit=$datumzeit[1];
                                $aufnamedatum=explode(":",$datumzeit[0]);
                                $aufnamedatumzeit="A:&nbsp;".$aufnamedatum[2].".".$aufnamedatum[1].".".$aufnamedatum[0]." </br> ".$aufnamezeit."</br>";
                            }                
                        else $aufnamedatumzeit="";
                        if($exifdata["Width"])$breite=$exifdata["Width"];
                        if($exifdata["Height"])$hoehe=$exifdata["Height"];
                        if($exifdata["IsColor"])$farbe=$exifdata["IsColor"]; 
                        if($exifdata["FlashUsed"])$blitz=$exifdata["FlashUsed"];
                        if($exifdata["Orientation"])$orientierung=$exifdata["Orientation"];
                        if($exifdata["ISOSpeedRatings"])$iso=$exifdata["ISOSpeedRatings"];

                        // Vorschaubild holen
                        $vorschau=$exifdata["Thumbnail"];
                    }    
                // Vorschaubild ausgeben (sofern vorhanden)
                if(!empty($vorschau))
                    {
                        $vorschau_name=$vorschau_verzeichnis."/".str_replace(".jpg","_v.jpg",strtolower($datei));
                        $file=fopen($vorschau_name,"wb");
                        fwrite($file,$vorschau);
                        fclose($file);
    
                        $parameter=getimagesize($vorschau_name);
                        $width_height=$parameter[3];
                        
                        
                        //<!--Tabelle 1 ist für den Kompletten Aufbau verantwortlich--> 
                        print"<table id=\"table1\">
                            <tr>
                                <td>&nbsp;&nbsp;Fotogallerie</td>
                            </tr>
                            <tr>
                                <td>";
                            //Tabelle 2 wird geöffnet 
                            print"<table border='1' id=\"table2\" colspan=\"2\">";
                            print"<tr>
                            <td><center>
                                <a href=\"$bild\" target=\"vollbild\" onclick=\"ZeigeBild('$bild');return false\">
                                <img src=\"$bild\" width=\"365\"title=\"Bild $datei anzeigen\"  alt=\"Vorschaubild zu $datei\" border=\"0\">
                                </a></center>
                            </td>";
                        //Daten ausgabe
                        print"<td valign=\"top\" colspan=\"2\">";
                        if(!empty($aufnamedatumzeit))
                        {        
                            //Tabelle 3 mit den EXIF Daten wird geöffnet mit $aufnamedatumzeit
                            $dateigroesse=$dateigroesse/1024;
                            $dateigroesse=round($dateigroesse);
                            if($dateigroesse<1024)
                            {
                                $einheit="KB";
                            }
                            else
                            {
                                $dateigroesse=$dateigroesse/1024;
                                $dateigroesse=round($dateigroesse,2);
                                $einheit="MB";
                            }
                            print "<table class=\"table3\">
                                    <tr class=\"zeile1\"><td>Name:</td><td>$dateiname</td></tr>
                                    <tr class=\"zeile2\"><td>Hersteller:</td><td>$make</td></tr>
                                    <tr class=\"zeile1\"><td>Datum:</td><td>$aufnamedatumzeit</td></tr>
                                    <tr class=\"zeile2\"><td>Breite:</td><td>$breite</td></tr>
                                    <tr class=\"zeile1\"><td>H&ouml;he:</td><td>$hoehe</td></tr>
                                    <tr class=\"zeile2\"><td>Blitz:</td><td>$blitz</td></tr>
                                    <tr class=\"zeile1\"><td>ISO:</td><td>$iso</td></tr>
                                    <tr class=\"zeile2\"><td>Fnummer:</td><td>$fnumber</td></tr>
                                    <tr class=\"zeile1\"><td>ExposureTime:</td><td>$ex_tim</td></tr>
                                    <tr class=\"zeile2\"><td>AFNummer:</td><td>$AFNummer</td></tr>
                                    <tr class=\"zeile1\"><td>Deteigr&ouml;ße:</td><td>$dateigroesse $einheit</td></tr>
                                </table>";//Tabelle 3 wird geschlossen
                
                        }        
                        else 
                        {    
                            //Tabelle 3 (alternative Tabelle) mit den EXIF Daten wird geöffnet ohne $aufnahmedatum
                            print "<table class=\"table3\">    
                                    <tr class=\"zeile1\"><td>Name:</td><td>$dateiname</td></tr>
                                    <tr class=\"zeile2\"><td>Hersteller:</td><td>$make</td></tr>
                                    <tr class=\"zeile1\"><td>Deteigr&ouml;ße:</td><td>$dateigroesse</td></tr>
                                    <tr class=\"zeile2\"><td>Breite:</td><td>$breite</td></tr>
                                    <tr class=\"zeile1\"><td>H&ouml;he:</td><td>$hoehe</td></tr>
                                    <tr class=\"zeile2\"><td>Blitz:</td><td>$blitz</td></tr>
                                    <tr class=\"zeile1\"><td>ISO:</td><td>$iso</td></tr>
                                    <tr class=\"zeile2\"><td>F:</td><td>$fnumber</td></tr>
                                    <tr class=\"zeile1\"><td>ExposureTime:</td><td>$ex_tim</td></tr>
                                    <tr class=\"zeile2\"><td>AFNummer:</td><td>$AFNummer</td></tr>
                                    
                                </table>";//Tabelle 3 wird geschlossen
                        }    
                        print"</td>
                            </tr>"; 
                        print "<tr>
                                <td  colspan=\"3\">";//Tabelle 4 wird geöffnet
                        print"            <table border=\"1\" id=\"table4\">
                                    <tr>
                                        <td class=\"steuerung\"><a href=\"\" onclick=\"\"> << </a></td>
                                        <td colspan=\"2\" class=\"vorschau_min\">
                                            <a href=\"$bild\" target=\"vollbild\" onclick=\"ZeigeBild('$bild');return false\">
                                            <img src=\"$vorschau_name\" $width_height title=\"Bild $datei anzeigen\" alt=\"Vorschaubild zu $datei\" border=\"0\">
                                            </a>
                                        </td>
                                        <td class=\"steuerung\"><a href=\"\" onclick=\"\"> >> </a></td>
                                    </tr>
                                    </table>
                                </td>
                                                            
                            </tr>";
                    }
                    
                else print"    <tr>
                            <td colspan=\"2\">
                                <a href=\"$bild\" target=\"vollbild\" onclick=\"ZeigeBild('$bild');return false\" title=\"Bild $datei anzeigen\">
                                keine
                                </a>
                            </td>
                        </tr>";
    
            }
            //Tabelle 2 wird geschlossen 
            print"</table>";
            print"</td></tr>";
        }
?>
</td></tr>
</table>
<!--Tabelle 1 wird geschlossen -->
 
Zuletzt bearbeitet:

netbandit

Aktives Mitglied

AW: Galerie in PHP, JavaScript... Ausgabe Probleme

Ich könnte mir vorstellen, daß es fertige Galerien gibt, die das was Du haben willst zum größten Teil abdecken. Irgendwie ist der Code von Dir völlig vermurkst, da mag bestimmt keiner mehr durchlesen. Selbst wenn jemand Dir die Schleife richtig anpasst ist das Dingen ja noch lange nicht fertig. Grüße :)
 

Duddle

Posting-Frequenz: 14µHz

AW: Galerie in PHP, JavaScript... Ausgabe Probleme

In deinem Screenshot sehe ich kein Problem, was genau stapelt sich dort ungewollt?

Wie oben gesagt, du solltest wohl auf eine fertige Bildergalerie zurückgreifen. Die sind meist schon sehr viel länger in Entwicklung, haben entsprechend viele Tests und Verbesserungen durchgemacht, und bieten manchmal auch eine PlugIn-Schnittstelle an.


Duddle
 
A

AbS0LuT3

Guest

AW: Galerie in PHP, JavaScript... Ausgabe Probleme

Anhand deines Screenshots stellt sich mir die Frage:

Ist der Fehler im PHP oder im Layout?

Wenn sich einfach die Ausgaben stapeln: übergib JavaScript die Bilder zum scrollen und render nur das aktive Bild im Detail. (meint: fülle nur eine Tabelle mitDaten und kriere nicht alles in PHP)

Ich mach mir jetzt nicht die Mühe den code zu lesen, lern debuggen. (Ernsthaft)
 

AlexanderBo

Gesperrt

AW: Galerie in PHP, JavaScript... Ausgabe Probleme

habs nur überflogen - neuschreiben ;-)
das vorgegebene script is einfach zu alt und nicht mehr up2date -
und ein tabellenlayout wird auch schon seit x-jahren nicht mehr verwendet.
da wohl recht wenig kenntnisse vorhanden sind
(wer fragt schon die eigene phpversion via dem gegebenen script ab)
bau es mittels html css neu auf (damit ist auch das tabellenprob vom tisch)
mit den grundfunktionen des scripts.
freilich weise ich schonmal darauf hin das wer JS deaktiviert hat keine JSfunctionen nutzen kann.
bei dem grundaufbau des gegebenen scriptes sehe ich die JSfunktionen als nicht lebensnotwendig - das kann man rein mit html css und php lösen.
 

netbandit

Aktives Mitglied

AW: Galerie in PHP, JavaScript... Ausgabe Probleme

In deinem Screenshot sehe ich kein Problem, was genau stapelt sich dort ungewollt?
Hallo Duddle,

das was im Screenshot zu sehen ist wird für jedes Vorschaubild komplett wiederholt. Also pro Thumbnail jeweils Exif-Daten und das Originalbild, die Komplette Tabelle.

Grüße :)

Btw.: Wer Javascript deaktiviert will keine Javascriptfunktionen und wer Vegetaria ist futtert auch kein Fleisch; letzterem würde ich Tofu vorwerfen :hmpf:
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben