Ankündigung

Einklappen
Keine Ankündigung bisher.

Link auf Externes Bild mit Größenanpassung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Link auf Externes Bild mit Größenanpassung

    Ich habe eine Private Homepage mit Bildern. Die Seite auf der die Bilder stehen wurde in PHP geschrieben. Nun möchte ich folgendes machen. Klickt man auf ein Bild soll sich ein neues Fenster öffnen, in dem das Bild in der original Größe zu sehen ist. Das Fenster in dem das Bild ist, soll sich der Größe des Bildes automatisch anpassen. Ich weiß wie das vergleichbar mit Java-Script funkioniert. Dort ist es ja "javascript:var external=window.open('http://url', 'external', 'width=breite,height=höhe')" aber wie funktioniert das in PHP und mit automatischer Größenanpassung? Kann mir Jemand helfen????????
    Danke schonmal im Voraus! - Anbei noch der Quellcode von meiner Bilder Datei:



    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">

    a:link {
    color: #00FF00;
    text-decoration: none;
    }
    a:visited {
    color: #00FF00;
    text-decoration: none;
    }
    a:hover {
    text-decoration: none;
    color: #FFFFFF;
    }
    a:active {
    color: #00FF00;
    text-decoration: none;
    }

    .menue {
    font-family: Arial;
    font-size: 12px;
    font-weight: normal;
    color: #F98E1D;
    text-decoration: none;
    background-color: #000000;
    }
    .underline {
    border-bottom-width: 2px;
    border-bottom-style: solid;
    border-bottom-color: #F98E1D;;
    }
    .copy {
    font-family: Arial;
    font-size: 10px;
    font-weight: normal;
    color: #F98E1D;
    text-decoration: none;
    }
    .vorschaurahmen {
    border: 2px solid #F98E1D;
    text-align: center;

    }
    .kommentar {
    font-family: Arial;
    font-size: 14px;
    font-weight: normal;
    color: #F98E1D;
    text-decoration: none;
    text-align: center;
    }

    </style>
    </head>
    <body bgcolor="#000000">
    <?php if(!is_file("include.php"))
    {echo "<span class=\"menue\">Führen Sie <a href=\"setup.php\">setup.php</a> aus!</span>"; exit;}
    require("include.php");?>
    <table width="100%" height="100%" border="0" cellpadding="4" cellspacing="0">
    <tr>
    <td>

    </td>
    <td width="60%" align="right" valign="bottom" nowrap class="underline"></td>

    </tr>

    <?php
    $photo = $_GET[photo];
    if(!empty($photo))
    {
    $photofile = "$photo".".jpg";
    //Menue anzeigen
    echo "<tr><td height=\"2\" colspan=\"2\"><a href=\"index.php\" class=\"menue\"> Photo schließen</a><a href=\"index.php#$photo\" class=\"menue\"> Zur&uuml;ck</a> </td></tr>";
    //Photo anzeigen
    $bilder = file($daten);
    while (list ($line_num, $line) = @each($bilder))
    {
    $photos = explode("&&", $line);
    if($photos[0]==$photo)
    {
    $comment = "$photos[1]";
    }}
    echo "<tr><td height=\"2\" width=\"40%\" class=\"underline\"><img src=\"$photofile\" border=\"0\" alt=\"$comment\">";
    echo "
    <span class=\"kommentar\">$comment</span>";
    echo "</td><td width=\"60%\" class=\"underline\"></td></tr>";

    }
    ?>
    <tr>
    <td></td>
    </tr>
    <tr valign="top">
    <td colspan="2">
    <?php

    //Übersichtsbilder anzeigen
    echo "<table width=\"10%\" border=\"0\" cellpadding=\"4\" cellspacing=\"2\"><tr>";
    $bilder = file($daten);
    if(empty($id)){$id="$bilder[0]";}
    $anzahl = count($bilder);
    $test = "$anzahl"/"$anzeige";
    while(!is_integer($test))
    {
    $hinzu = "$anzahl"+"1";
    $pad = "\n";
    $bilder = array_pad($bilder,$hinzu,$pad);
    $anzahl = count($bilder);
    $test = "$anzahl"/"$anzeige";
    }

    while (list ($line_num, $line) = @each($bilder))
    {
    $teiler = "$line_num"/"$anzeige";
    $photos = explode("&&", $line);
    $image = "$photos[0]";
    $image = chop($image);
    $imagefile = "$photos[0].jpg";

    $comment = $photos[1];
    if(empty($image))
    {
    $c .= "<td></td>";
    }
    if(!empty($image) and is_integer($teiler) and $line_num != "0")
    {
    $thumbnail = "$url"."thumbnails/"."$imagefile";
    $imageurl = "$url"."$imagefile";
    $c .= "</tr><tr><td valign=\"top\" class=\"vorschaurahmen\">
    <table width=\"100%\" height =\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
    <td valign=\"top\"><a name=\"$image\"></a><a href=\"$image.jpg\" target=\"_blank\"><img src=\"$thumbnail\" alt=\"$comment\" border=\"0\"></a></td>
    </tr>
    <tr>
    <td valign=\"bottom\" class=\"vorschaurahmen\" height=\"100%\"><span class=\"kommentar\">$comment</span></td>
    </tr>
    </table>
    </td>";
    }
    if(!empty($image) and !is_integer($teiler) or $line_num == "0")
    {
    $imageurl = "$url"."$imagefile";
    $thumbnail = "$url"."thumbnails/"."$imagefile";
    $c .= "<td valign=\"top\" class=\"vorschaurahmen\">
    <table width=\"100%\" height =\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
    <td valign=\"top\"><a name=\"$image\"></a><a href=\"$image.jpg\" target=\"_blank\"><img src=\"$thumbnail\" alt=\"$comment\" border=\"0\"></a></td>
    </tr>
    <tr>
    <td valign=\"bottom\" class=\"vorschaurahmen\" height=\"100%\"><span class=\"kommentar\">$comment</span></td>
    </tr>
    </table>
    </td>";
    }
    }
    echo $c;
    echo "</tr></table>";
    ?>
    <table width="100%" height="100%" border="0" cellpadding="2" cellspacing="4">
    <tr>
    <td height="100%"></td>
    <td></td>
    </tr>
    </table>


    </p></td>
    </tr>
    </table>

    </body>
    </html>

  • #2
    Die einfache Antwort: Ist nicht!

    PHP hat genausowenig, wie JS allein, Ahnung davon, wie gross das Bild ist.

    PHP hätte zwar die Möglichkeit, das zu ermitteln, dazu muss es aber das Bild downloaden und analysieren. Das kannst du natürlich einmal machen lassen und die Infos lokal speichern.
    Dies geht hiermit recht simpel:
    http://de.php.net/manual/de/function.getimagesize.php
    http://de.php.net/manual/de/function...t-contents.php (umd das Bild evtl. zu holen, weiss gerade nicht, ob getimagesize() das nicht selbst kann)

    Kommentar

    Lädt...
    X