Bildname

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

  • Bildname

    Hallo!

    Es werden Bilder dynamisch ausgegeben in einer Gallery!

    Egal ob es sich um ein großes Bild handelt (welches nach anklicken des dementsprechend kleinen Bildes öffnet) oder es sich um das kleine Bild handelt, alle werden mit einem Befehl der wie folgt aufgerufen:

    PHP-Code:
    <?php
    $imagehtml 
    "<img border='0' src='calculate.php?image=$subdir/$images[$r]&height=$imageheight&view=big' alt='$images[$r]'>";
    ?>
    Werden somit in einer Datei: calculate.php bearbeitet.

    Datei calculate.php:

    PHP-Code:
    <?php
    include"../../config.php";

    if (!
    $height) {
        
    $height 70;
    }
    $sourceimage $image;
    $info getimagesize($sourceimage);
    $widthold $info[0];
    $heightold $info[1];
    $width ceil($widthold*$height/$heightold);
    switch(
    $info[2])
    {
    case 
    1//Gif
    $imageold imagecreatefromgif($sourceimage);
    break;
    case 
    2//Jpeg
    $imageold imagecreatefromjpeg($sourceimage);
    break;
    }
    $imagenew imagecreatetruecolor($width$height);
    imagecopyresampled($imagenew$imageold0000$width$height$widthold$heightold);

    header("Content-type: image/jpeg");
    if(
    $view == "big"){ // Wenn es sich um die Anzeige eines großen Fotos handelt ein Copyright und ein Rechteck in dem das Copyright steht ins Bild einfügen
        
    $backgroundColor imagecolorallocate($imageold$g_backgroundColor1$g_backgroundColor2$g_backgroundColor3);
        
    imagefilledrectangle($imagenew$width-$g_copyWidth$height-$g_copyHeight$width$height$backgroundColor);
        
    $fontColor imagecolorallocate($imageold$g_copyFontColor1$g_copyFontColor2$g_copyFontColor3);
        
    imagettftext($imagenew$g_copyFontSize$g_copyFontAngle$width-$g_copyFontPlaceLeft$height-$g_copyFontPlaceTop$fontColor"../../fonts/verdana.ttf"$g_copyrightDE);
    }
    imagejpeg($imagenew);
    imagedestroy($imageold);
    imagedestroy($imagenew);
    ?>
    Wozu die einzelnen Variablen etc. dienen oder woher sie kommen dürfte für die Lösung dieses Problems nicht von Wert sein, sollte dem nicht so sein, bitte mir mitteilen!

    Die Fotos haben bereits ihre Namen in den jeweiligen Ordnern, wenn ich diese jedoch durch meine Gallery erstellen und anzeigen lasse, und dann per rechte Maustaste "Grafik speichern unter ..." klicke so erhalte ich immer den gleichen Bildnamen:

    calculate.php.jpg

    Wie kann ich den Bildnamen beeinflussen?

    Vielen DANK!

    Paul

  • #2
    <ironie>
    Wenn das kein crossposting wäre, würde ich evtl. folgendes antworten:
    </ironie>
    Aus: http://ffm.junetz.de/members/reeg/DSP/node16.html
    Wenn nichts anderes angegeben wird, benutzt der Browser den Dateinamen des Scripts aus der URL als Dateinamen zum Abspeichern.
    header("Content-Disposition: attachment; filename=datei_name.ext");
    Wir werden alle sterben

    Kommentar


    • #3
      Und wo muss dieser hingeschrieben werden?

      Habs mal ganz oben in die Datei geschrieben wo die Bilder mittels <img> Tag aufgerufen werden, funzt nicht!

      Kommentar


      • #4
        Und wo muss dieser hingeschrieben werden?
        Vllt wäre es gar nicht fehl am Platz, das dort zu machen, wo du bereits mittels header() Werte an den Browser sendest.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Falls es so gemeint war:

          header("Content-type: image/jpeg Content-Disposition: attachment; filename=test.jpg");

          Funktioniert leider nicht!

          Habe ich nen Fehler gemacht oder gibt es keine Lösung zu meinem Problem?

          Kommentar


          • #6
            du hast nen fehler gemacht.

            Kommentar


            • #7
              der wäre?

              Kommentar


              • #8
                Soll ich alle aufzählen?

                1) du brichst deinen Code nicht gemäß Regeln um.
                2) du verwendest Code ohne ihn zu verinnerlichen. Copy&Paste :rules:
                3) Header werden idr durch einen Zeilenumbruch getrennt. Hier spricht auch nichts dagegen header() zwei mal aufzurufen um das ganze zu vereinfachen.

                Kommentar


                • #9
                  COOL!!!

                  DANKE, endlich funktioniert es!!!

                  Besten Dank!

                  Kommentar


                  • #10
                    z.B.
                    PHP-Code:
                    header('Content-type: application/pdf');
                    // Es wird downloaded.pdf benannt
                    header('Content-Disposition: attachment; filename="downloaded.pdf"'); 
                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar

                    Lädt...
                    X