Ankündigung

Einklappen
Keine Ankündigung bisher.

downloadbutton für bilder

Einklappen

Neue Werbung 2019

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

  • downloadbutton für bilder

    hichen, einige threads gibt es ja schon da zu aber keine lösung...
    ich arbeite an einer galerie und hab unter dem bild einen link download, wenn der gedrückt wird, soll der speicherndialog angezeigt werden udn das bild gespeichert werden...

    das klappt auch so weit aber das bild hat entweder eine falsche größe (kb) bzw. es lässt sich einfach nciht öffnen... hier der code:
    PHP-Code:
    <?php
    if ($_REQUEST['pic_id']!=''$sub_id $_REQUEST['pic_id'];
    else 
    $sub_id htmlentities($_POST['pic_id']);

    if (
    $_REQUEST['f']==1) {
      
    $pic=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['cd_galerie_pic']." WHERE pic_id='".$pic_id."'"));
      
    $dateiname='../images/galerie/'.$_REQUEST['cat_id'].'/'.$_REQUEST['sub_id'].'/'.$_REQUEST['pic_id'].'_'.$pic['pic_org_name']; // Dateiname inkl. Verzeichnis bzw. Domain (ORT)
      
    $dateiname2=$_REQUEST['pic_id'].'_'.$pic['pic_org_name']; // Dateinamen
      
    $dateiendung=strrchr($dateiname2"."); // Ermittelt die Dateiendung
      
    $dateiendung=substr($dateiendung,1); // Nimmt den Punkt vor der Dateiendung weg
      
    header("Content-type: application/$dateiendung"); // Übermittelt den Content-Type
      
    header("Content-Disposition: attachment; filename=$dateiname2"); // Übermittelt, was heruntergeladen werden soll
      
    header("Content-Length: ".filesize($dateiname)); // Übermittelt die Größe der Datei
      
    readfile($dateiname); // Dateiinhalt übertragen
    }?>
    ignoriert am besten das was bei dateiname steht, dass ist der pfad halt mit orndern ect.

    ich hab mich an diesem tutorial versucht, beispiel 2 bzw. unten
    http://www.yubb.de/artikel528.html

    ?>[/php]


  • #2
    1) link zu nem beispiel
    2) lass mal das readfile weg und ruf das script aus, werden vieleicht irgendwelche ausgaben gemacht ?
    3) header("Content-type: application/$dateiendung"); // Übermittelt den Content-Type weg damit, ein content-type: application/octet-stream
    solte reichen, wenn du die datei endung angibst wirds sonst problematisch oder ein programm will das teil direkt öffnen
    4) bei php5 kann readfile nur maximal 2 MB ausgeben


    mfg
    robo47
    [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
    | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

    Kommentar


    • #3
      1) also der link zum beispiel steht doch oben...

      2)hab ich weggelassen und ja die dateigröße, der name, der pfas stimmen (mit print getestet)

      3) hab ich geändert

      4) hab ich nun aus dem code entfernt

      hier der code:
      PHP-Code:
      <?php
        $dateiname
      ='images/galerie/'.$_REQUEST['cat_id'].'/'.$_REQUEST['sub_id'].'/'.$_REQUEST['pic_id'].'_'.$pic['pic_org_name']; // Dateiname inkl. Verzeichnis bzw. Domain (ORT)
        
      $dateiname2=$_REQUEST['pic_id'].'_'.$pic['pic_org_name'];
        
      $dateiendung=strrchr($dateiname2".");
        
      $dateiendung=substr($dateiendung,1);
        
      header("Content-type: application/octet-stream");
        
      header("Content-Disposition: attachment; filename=$dateiname2");
        
      header("Content-Length: ".filesize($dateiname));
      ?>
      aber runtergeldaen wird immer noch ein file mit 3 kb statt 11kb und genau den fehler haben auch die meisten die hier ein ähnlichen thread eröffnet haben

      Kommentar


      • #4
        tja dann öffne mal die datei mit nem texteditor (notepad oder wordpad) und schau mal was da drinsteht.

        mfg
        robo47
        [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
        | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

        Kommentar


        • #5
          sieht aus wie die eigentliche internetseite nur in asci *lol* und wi ekan man das umgehen?

          Kommentar


          • #6
            was heißt wie die eigentliche Seite`? gibst du vorher etwa noch dein standard-html aus ? dann gibts hier aber mit stock uff die ohrn dass die fies platze !
            [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
            | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

            Kommentar


            • #7
              *loL*nein eigentlich nicht...

              das ist doch das was ausgegeben wird: header("Content-Length: ".filesize($dateiname));

              und da drin istder direkte pfad zum bild....

              (hofft das der stock weg bleibt)

              hier mal ein beispiel un dann unter funktionen auf download klicken
              http://www.codedragon.ath.cx/codedra...nav=1&nohead=1

              Kommentar


              • #8
                mal bitte einen Link zu nem beispiel, ich frag mich grad ob du dein php ausgibst oder was auch immer ?
                [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
                | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

                Kommentar


                • #9
                  argl phpkit
                  naja ich weis ja ned was du da wo wie eingebaut hast, auf jeden fall scheint dein script überhaupt nicht aktiv zu werden:

                  ~/temp # wget -dv http://www.codedragon.ath.cx/codedragon/include.php? path=galerie/pic.php&cat_id=3&sub_id=4&pic_id=111&f=1&nofuss=1& nonav=1&nohead=1
                  [1] 23722
                  [2] 23723
                  [3] 23724
                  [4] 23725
                  [5] 23726
                  [6] 23727
                  [7] 23728
                  [2] Done cat_id=3
                  [3] Done sub_id=4
                  [4] Done pic_id=111
                  [5] Done f=1
                  [6] Done nofuss=1
                  [7] Done nonav=1
                  a15177638:~/temp # Setting verbose (102) to 1
                  DEBUG output created by Wget 1.9+cvs-dev on linux-gnu.

                  --18:10:06-- http://www.codedragon.ath.cx/codedra...path=galerie/p ic.php
                  => `include.php?path=galerie%2Fpic.php'
                  Resolving www.codedragon.ath.cx... 82.140.29.109
                  Caching www.codedragon.ath.cx => 82.140.29.109
                  Connecting to www.codedragon.ath.cx|82.140.29.109|:80... connected.
                  Created socket 3.
                  Releasing 0x8082ad0 (new refcount 1).

                  ---request begin---
                  GET /codedragon/include.php?path=galerie/pic.php HTTP/1.0
                  User-Agent: Wget/1.9+cvs-dev
                  Accept: */*
                  Host: www.codedragon.ath.cx
                  Connection: Keep-Alive

                  ---request end---
                  HTTP request sent, awaiting response...
                  ---response begin---
                  HTTP/1.1 200 OK
                  Date: Thu, 23 Jun 2005 16:09:13 GMT
                  Server: Apache/2.0.52 (Win32) mod_ssl/2.0.52 OpenSSL/0.9.7e PHP/5.0.3
                  X-Powered-By: PHP/5.0.3
                  Set-Cookie: PHPKITSID=f22350be4a41201293e6c25783603b56; path=/
                  Expires: Thu, 19 Nov 1981 08:52:00 GMT
                  Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
                  Pragma: no-cache
                  Set-Cookie: user_id=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
                  Set-Cookie: user_name=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
                  Set-Cookie: user_pw=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
                  Set-Cookie: PHPKITSID=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
                  Set-Cookie: user_id=0; expires=Fri, 24-Jun-2005 16:09:13 GMT; path=/
                  Set-Cookie: user_name=deleted; expires=Wed, 23-Jun-2004 16:09:12 GMT; path=/
                  Set-Cookie: user_pw=992626668dd69830d75cb9369627ea5f; expires=Fri, 24-Jun-2005 1 6:09:13 GMT; path=/
                  Set-Cookie: PHPKITSID=f22350be4a41201293e6c25783603b56; expires=Fri, 24-Jun-2005 16:09:13 GMT; path=/
                  Connection: close
                  Content-Type: text/html; charset=ISO-8859-1

                  ---response end---
                  200 OK

                  Stored cookie www.codedragon.ath.cx -1 (ANY) / <session> <insecure> [expiry none ] PHPKITSID f22350be4a41201293e6c25783603b56
                  Length: unspecified [text/html]

                  [ <=> ] 52,166 26.86K/s

                  Closed fd 3
                  18:10:09 (26.77 KB/s) - `include.php?path=galerie%2Fpic.php' saved [52,166]
                  kommt nur der html-header und ne ausgabe, weis ja ned was dein phpkit da macht ....

                  mfg
                  robo47
                  [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
                  | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

                  Kommentar


                  • #10
                    das kit hat da mit iegentlich ncihts z utun... hab die galerei selber gemach tund hald auch eine datei codedragon/galerie/download.php diese wird included in die pic.php und in der download.php ist der code über den wir die ganze zeit rätseln aber naja danke für diene zeit und gedult

                    Kommentar

                    Lädt...
                    X